Recently, rich Internet application techniques such as Ajax, Adobe Flash, Flex, and Silverlight have been developed to improve browser-based applications. These technologies allow a Web page to request an update for some part of its content and to alter that part in the browser, without needing to refresh the whole page at the same time.
Web 2.0 is like an improved version of the World Wide Web. Technologies such as weblogs (blogs), social bookmarking, wikis, podcasts, RSS feeds (and other forms of many-to-many publishing), social software, and Web application programming interfaces (APIs) advance beyond read-only Web sites. Stephen Fry (actor, author, and broadcaster), who writes a technology column in the British Guardian newspaper, describes Web 2.0 as "... an idea in people's heads rather than a reality. It’s actually an idea that the reciprocity between the user and the provider is what's emphasised. In other words, genuine interactivity, if you like, simply because people can upload as well as download."

When javascript was released, people loved all the cool things you could do with the web browser to make a more user-friendly experience. You could do form validation, quirky popup messages, make cool web tools and more. However, Javascript had no way of sending information between the web browser and the web server.
If you wanted to get any information from a database on the server, or send user information to a server-side script like PHP, you had to make an HTML form to GET or POST data to the server. The user would then have to click "Submit", wait for the server to respond, then a new page would load with the results. I'm sure we have all gotten slightly annoyed when having to wait for especially slow websites!