Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to understand the origins of AJAX, and think MSXML and XMLHTTPRequest were the objects that started it all.

Which came first, and/or became the defacto way to create dynamic pages?

share|improve this question
MSDN XMLHTTP – Raynos Dec 6 '11 at 3:28
up vote 7 down vote accepted

For the origins, see Wikipedia's XMLHttpRequest article, particularly this excerpt:

The concept behind the XMLHttpRequest object was originally created by the developers of Outlook Web Access (by Microsoft) for Microsoft Exchange Server 2000. An interface called IXMLHTTPRequest was developed and implemented into the second version of the MSXML library using this concept. The second version of the MSXML library was shipped with Internet Explorer 5.0 in March 1999, allowing access, via ActiveX, to the IXMLHTTPRequest interface using the XMLHTTP wrapper of the MSXML library.

As for the first massive usage, the Wikipedia article on Ajax has the answer:

The utility of background HTTP requests to the server and asynchronous web technologies remained fairly obscure until it started appearing in full scale online applications such as Outlook Web Access (2000) and Oddpost (2002), and later, Google made a wide deployment of Ajax with Gmail (2004) and Google Maps (2005).

I am sure there are other examples, but personally the example of Gmail strikes home. I never used Outlook Web Access, but I clearly remember the first time I gained access to my Gmail mailbox. At that time I really was wondering how they achieved that without iframes...

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.