AJAX is nearly synonymous with Web 2.0 applications and is used to enhance the interactivity of Web pages. AJAX gives developers the means by which individual pieces of a page can be updated in real time without the need to reload all the contents of the page. In the past, if a particular piece of content in a Web page needed to be updated, the entire page would be reloaded from the Web server, causing the transfer of large amounts of duplicated data.
Using AJAX, content within a Web page can be updated based on user action (e.g., clicking on a button or hovering over an image), a time interval (e.g., every 5 seconds), or based on application-specific logic (e.g., when the user selects a U.S. state, then loading a list of applicable cities).
Because of the increased communication between Web browsers and Web servers associated with AJAX-based applications, performance of these applications can become degraded for a variety of reasons, including an overload of Web server connections, an abundance of small packets traversing the network, and connection limitations implemented by browsers.