the XML HTTP Request object / Bringing the HTTP Request power on the php side Making powerfull requests and increasing speed without loading the whole page Introduction XML HTTP Request was implemented by Microsoft in internet explorer 5 to provide client-side protocol support for communication with HTTP servers. Later on the developers of the Mozilla project implemented a native version on Mozilla 1.0. Thankfully they modeled their implementation of the object with the same methods of the MS's one, so aside for the initial creation of the object and making standard requests mentioned in this article, the rest of the code will work right away without needing to make two different versions of the script. Actually there is a growing support for this HTTP request method so almost all the browsers support it or are moving in that direction. Internet Explorer 5 and above on Windows, Konqueror, Safari on Mac OS-X and Mozilla on all platforms provide a method for client side javascript to make HTTP requests, Opera 7.6preview 1 also now features the object. Why do we need this technology ? Besides using frames there is no way in standard html to reload a part of the page getting information from the server side. Using the XML HTTP Request method (HTTPREQ from now on) makes this fast and elegant. While the object is called the XML HTTP Request object it is not limited to being used with XML it can request or send any type of document. Like Apple comments, it's a Cool combo, since web developers always wanted a clean way to mantein connection with the server so they can make transactions in the background bringing newly updated data in the page without using frames or java applets. Live examples about this request method are Google Suggest http://www.google.com/webhp?complete=1&hl=en and another one is the now popular Gmail. Many people wondered why it had those impressive page-loading speeds without refreshing the page. The magic behind that is the HTTPREQ object. While i'll explain this as simple as possible a basic understanding of javascript and html will be usefull to follow me completely. HTTPREQ is flexible, and that means that you can make different types of requests through it: A Simple Request gets a file on the server dynamically A Head Request returns the HTTP headers of a page You can send a SOAP/ REST request and get the returned data. You can call a server side script and return the output Putting it all together you can do lots of little things which when added up can make certain pages work faster and make a better user experience with your pages. This makes HTTPREQ an extremely versatile system for making user friendly administration control-panels. You can grab from the server the information that you need and change that specific part of page without refreshing the hole information. Like this you make an improvement over speed, sending less amount of information between server and client, the essencial information you need and not the entire fields of the form/html. Considering that being an object on the client browser is running on a "sandbox" it adopts the same domain security policies of typical JavaScript activity. But that should be no problem since we can call php code on our domain to make the external requests.