Web applications are highly interactive web sites with behavior similar to desktop applications. Single page application is a type of a web app where all the code is loaded during the first request, while further interaction with the user updates only portions of page, such as loading more data, etc.
I have read some interesting posts on the topic and would like to share them:
Mixu's single page app book
Single page apps in depth: "...the focus is on discussing patterns, implementation choices and decent practices. [...] code and concepts approach to the topic - the best way to learn how to use something is to understand how it is implemented."
Single Page Apps with Node.js
"Aside from the obvious gains in user experience such as not having to reload the entire page for content changes, there's a long term Return of Investment to this approach."