1.2. AJAX Defined
To get a true sense of what this really means, let's look at the communication flow of a normal Web application (see Figure 1-1). It's composed of two types of network activity: user-initiated HyperText Transfer Protocol (HTTP) requests (typing in a URL or clicking on a link) and responses from the server. In Web applications, most of the user requests contain data from a form, and the server responses are generated on the fly by a programming language such as PHP or Java. In the normal Web application model, the user always generates requests, so it's possible for a high rate of page requests to happen by someone clicking quickly, but in general, the request rate is low, with random amounts of time between each request.
Figure 1-1. Web application request flow
Figure 1-2. AJAX application request flow
Figure 1-3. Normal Web application requests versus AJAX requests
This change in frequency can greatly affect your ability to host an AJAX Web application. Your servers now have to be able to handle much higher request rates from the same number of users. This can be especially hard if each AJAX request takes just as much processing as a normal page load.