Asynchronous JavaScript and XML (AJAX) is a programmatic technique that utilizes JavaScript and the XMLHTTPRequest object to exchange data between a web browser and a web server.
AJAX is nearly synonymous with web 2.0 applications and is used to enhance the interactivity of webpages. 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 webpage 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).
AJAX-based applications often take advantage of popular open-source toolkits that provide cross-browser support for AJAX-based interactions. Such toolkits are in the form of JavaScript libraries such as the Prototype JavaScript framework and Dojo toolkits.
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.
F5 products that can address the security and performance issues associated with AJAX-based applications: BIG-IP Application Security Manager.