In many cases it would be better if the communication between the browser and the server was not directly linked the interaction between the user and web browser. For example, in an application like Google Maps the user has the ability to shift the map with the mouse, without having to wait for the page to be reloaded by the server. The additional map data needed as a result of the shifting, are retrieved by the application asynchronously in the background, without bothering the user.
In the early days of the Internet this kind of interactivity on the web was only possible with Java applets. In the case of Google Maps, it is achieved with a web browser/JavaScript functionality called XMLHttpRequest, which enables JavaScript programs to communicate with a web server without reloading the page the user is interacting with in the browser. When combined with a set of other web technologies, such as XHTML, CSS, DOM, JavaScript, and XML, web applications based on asynchronous server communication have become known as "Ajax" applications, which stands for Asynchronous JavaScript And XML.
This concept was meant to highlight a new approach to web programming to provide a richer and more interactive user experience, and efforts are under way to standardize Ajax functions so that applications can be developed faster and incompatibilities between browsers and operating systems, such as Linux and Windows, can be eliminated.

