What is a single page application and is this the technology I should use for developing my web application?
Instead of navigating to separate URLs these applications tend to update the fragment hash (the bit after the #)—which retains bookmarkability and allows the back/forward buttons to continue to function.
They also break HTTP status codes—you don’t get a 404 for missing content any more, you get a 200 for everything.
Thankfully the HTML5 history API makes it possible to create sites/applications that don’t refresh the full page while still maintaining proper URLs. GitHub are a superb example of a site that does this—click around in the repository browser with JS turned on and it updates via ajax (and updates the URL bar as well)—visit the same pages with JS turned off and you still get the correct content.
Unfortunately the HTML5 history API isn’t available in IE until version 10.