|
XMLHttpRequest (XHR) is an API available to web browser scripting languages such as JavaScript. It is used to send HTTP or HTTPS requests to a web server and load the server response data back into the script.〔(【引用サイトリンク】title=XMLHttpRequest object explained by the W3C Working Draft )〕 Development versions of all major browsers support URI schemes beyond http and https, in particular, blob URLs are supported.〔http://dev.w3.org/2006/webapi/FileAPI/〕 Data from the response can be used to alter the current document in the browser window without loading a new web page, and despite the name of the API, this data can be in the form of not only XML,〔(【引用サイトリンク】title=The responseXML attribute of the XMLHttpRequest object explained by the W3C Working Draft )〕 but also JSON, HTML or plain text.〔(【引用サイトリンク】title=The responseText attribute of the XMLHttpRequest object explained by the W3C Working Draft )〕 The response data can also be evaluated by client-side scripting. For example, if it was formatted as JSON by the web server, it can be converted into a client-side data object for further use. The Ajax web development technique used by many websites to implement responsive and dynamic web applications depends on XMLHttpRequest. For security reasons, XMLHttpRequest requests follow the browser's same-origin policy, and will therefore only succeed if they are made to the host that served the original web page. ==History and support== 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.〔〔(【引用サイトリンク】title=Specification of the IXMLHTTPRequest interface from the Microsoft Developer Network )〕 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. The Mozilla project developed and implemented an interface called ''nsIXMLHttpRequest'' into the Gecko layout engine. This interface was modeled to work as closely to Microsoft's ''IXMLHTTPRequest'' interface as possible. Mozilla created a wrapper to use this interface through a JavaScript object which they called ''XMLHttpRequest''. The ''XMLHttpRequest'' object was accessible as early as Gecko version 0.6 released on December 6 of 2000,〔(【引用サイトリンク】title=Version history for the Mozilla Application Suite )〕〔(【引用サイトリンク】title=Downloadable, archived releases for the Mozilla browser )〕 but it was not completely functional until as late as version 1.0 of Gecko released on June 5, 2002.〔〔 The ''XMLHttpRequest'' object became a ''de facto'' standard in other major web clients, implemented in Safari 1.2 released in February 2004,〔(【引用サイトリンク】title=Archived news from Mozillazine stating the release date of Safari 1.2 )〕 Konqueror, Opera 8.0 released in April 2005, and iCab 3.0b352 released in September 2005. The World Wide Web Consortium published a ''Working Draft'' specification for the ''XMLHttpRequest'' object on April 5, 2006, edited by Anne van Kesteren of Opera Software and Dean Jackson of W3C.〔(【引用サイトリンク】title=Specification of the XMLHttpRequest object from the Level 1 W3C Working Draft released on April 5th, 2006 )〕 Its goal is "to document a minimum set of interoperable features based on existing implementations, allowing Web developers to use these features without platform-specific code." The last revision to the XMLHttpRequest object specification was on November 19 of 2009, being a last call working draft.〔(【引用サイトリンク】title=XMLHttpRequest W3C Working Draft 19 November 2009 )〕 〔(【引用サイトリンク】title=W3C Process Document, Section 7.4.2 Last Call Announcement )〕 Microsoft added the ''XMLHttpRequest'' object identifier to its scripting languages in Internet Explorer 7.0 released in October 2006.〔 With the advent of cross-browser JavaScript libraries such as jQuery and the Prototype JavaScript Framework, developers can invoke XMLHttpRequest functionality without coding directly to the API. Prototype provides an asynchronous requester object called Ajax.Request that wraps the browser's underlying implementation and provides access to it. jQuery objects represent or wrap elements from the current client-side DOM. They all have a .load() method that takes a URI parameter and makes an XMLHttpRequest to that URI, then by default places any returned HTML into the HTML element represented by the jQuery object.The W3C has since published another ''Working Draft'' specification for the ''XMLHttpRequest'' object, "XMLHttpRequest Level 2", on February 25 of 2008.〔(【引用サイトリンク】title=Specification of the XMLHttpRequest object from the Level 2 W3C Working Draft released on February 25th, 2008 )〕 Level 2 consists of extended functionality to the ''XMLHttpRequest'' object, including, but not limited to, progress events, support for cross-site requests, and the handling of byte streams. The latest revision of the XMLHttpRequest Level 2 specification is that of 16 August 2011, which is still a working draft.〔(【引用サイトリンク】title=XMLHttpRequest Level 2, W3C Working Draft (Latest Version) )〕 , XMLHttpRequest version 2 has been merged into the main XMLHttpRequest specification, and there is no longer a version 1 and a version 2. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「XMLHttpRequest」の詳細全文を読む スポンサード リンク
|