XMLHttpRequest
出典: フリー百科事典『ウィキペディア(Wikipedia)』
XMLHttpRequest (XHR) は、JavaScriptなどのウェブブラウザ搭載のスクリプト言語で、サーバとのHTTP通信を行うための組み込みオブジェクト(API)である。
すでに読み込んだページからさらにHTTPリクエストを発することができ、ページ遷移することなしにデータを送受信できるAjaxの基幹技術である。
XMLHttpRequestを応用したWebアプリケーションには、Google マップ、Facebookなどがある。
目次 |
[編集] 歴史
XMLHttpRequestは、マイクロソフトがOutlook Web Access 2000のダイナミックHTMLによるウェブインターフェースに活用するため、1999年公開のInternet Explorer 5においてActiveXオブジェクトとして実装したのが始まりである[1]。その後、2001年にMozillaプロジェクトがこれと互換性のある組み込みオブジェクトをMozilla 0.9.7およびNetscape 7で実装し、アップルも2004年にSafari 1.2でMozillaと同様の組み込みオブジェクトを実装し始めた[2]。
このように徐々にInternet Explorer以外のブラウザにも実装されていったXMLHttpRequestは、2005年にAjaxによって一躍有名になった。オペラ・ソフトウェアも同年、組み込みオブジェクトとしてXMLHttpRequestを実装したOpera 8をリリースするなど、XMLHttpRequestはスクリプトの実行環境がある多くのブラウザで実装された。またマイクロソフトは2006年リリースのInternet Explorer 7で、ユーザーがActiveXを無効にしていてもAjaxアプリケーションを利用できるよう、XMLHttpRequestを組み込みオブジェクトとして標準実装した[3]。
同様の機能を有するオブジェクトが定義されたDOM Level 3 Load and Save Specificationが2004年4月にW3C勧告となっているが、すでにXMLHttpRequestは多くのウェブブラウザで実装されているデファクトスタンダードとなっており、W3Cでは現在その仕様の標準化を進めている。
[編集] オブジェクトの構成
[編集] メソッド
- abort
- getAllResponseHeaders
- getResponseHeader
- open
- send
- setRequestHeader
[編集] プロパティ
- onreadystatechange
- readyState
- responseText
- responseXML
- status
- statusText
その他、各ブラウザの独自拡張として以下のようなプロパティを持っている場合がある。
- onload
- responseBody
- responseStream
[編集] 脚注
- ^ "Outlook Web Access - A catalyst for web evolution" You Had Me At EHLO..., Jim Van Eaton, 2005年6月21日
- ^ "Dynamic HTMLとXML:XMLHttpRequestオブジェクト" Apple Developer Connection, Apple, 2005年6月24日
- ^ "IE7 - XMLHttpRequest の標準サポート", ウィンドウズ開発統括部, 及川卓也, 2006年3月9日

