This days one of the most mentioned terms is AJAX, it seems that everybody knows what does it mean but as my friend Sebastian Rosenfeld says, the obvious is not so obvious, so let’s take a look to the Wikipedia definition.
The Ajax technique uses a combination of:
XHTML (or HTML) and CSS, for marking up and styling information.
The XMLHttpRequest object to exchange data asynchronously with the web server. In some Ajax frameworks and in certain situations, an IFrame object is used instead of the XMLHttpRequest object to exchange data with the web server.
XML is sometimes used as the format for transferring data between the server and client, although any format will work, including preformatted HTML, plain text, JSON and even EBML. These files may be created dynamically by some form of server-side scripting.
Like DHTML, LAMP and SPA, Ajax is not a technology in itself, but a term that refers to the use of a group of technologies together.
The first use of the term in public was by Jesse James Garrett in February 2005. Garrett thought of the term while in the shower, when he realized the need for a shorthand term to represent the suite of technologies he was proposing to a client.
The Web development community, first collaborating via the microsoft.public.scripting.remote newsgroup and later through blog aggregation, subsequently developed a range of techniques for remote scripting in order to enable consistent results across different browsers. In 2002, a user-community modification to Microsoft Remote Scripting was made to replace the Java applet with XMLHttpRequest.
Remote Scripting Frameworks such as ARSCIF surfaced in 2003 not long before Microsoft introduced Callbacks in ASP.NET.
Since XMLHttpRequest is now implemented across the majority of browsers in use, alternative techniques are used infrequently. However, they are still used where compatibility with older Web sites or legacy applications is required.
In addition, the World Wide Web Consortium has several Recommendations that also allow for dynamic communication between a server and user agent, though few of them are well supported. These would include:
The object element defined in HTML 4 for embedding arbitrary content types into documents, (replaces inline frames under XHTML 1.1)
The Document Object Model (DOM) Level 3 Load and Save Specification
Ajax applications are mainly executed on the user’s machine, by manipulating the current page within their browser using document object model methods. Ajax can be used for a multitude of tasks such as updating or deleting records; expanding web forms; returning simple search queries; or editing category trees