JavaScriptでXMLHTTPRequestのみを使用してHTTPヘッドリクエストを行うことは可能ですか?
私の動機は、帯域幅を節約することです。
そうでない場合、それを偽造することは可能ですか?
JavaScriptでXMLHTTPRequestのみを使用してHTTPヘッドリクエストを行うことは可能ですか?
私の動機は、帯域幅を節約することです。
そうでない場合、それを偽造することは可能ですか?
簡単です。GET や POST の代わりに HEAD メソッドを使用するだけです。
function UrlExists(url, callback)
{
var http = new XMLHttpRequest();
http.open('HEAD', url);
http.onreadystatechange = function() {
if (this.readyState == this.DONE) {
callback(this.status != 404);
}
};
http.send();
}
これは、HEAD メソッドの使用方法を示す簡単な例です。製品コードでは、さまざまな結果状態 (成功、失敗、タイムアウト) に対してよりきめ細かいコールバックが必要になる場合があり、さまざまなイベント ハンドラー(onload
ではなく とonerror
)を使用する場合があります。ontimeout
onreadystatechange
XMLHTTPRequest オブジェクトには、
getAllResponseHeaders();
getResponseHeader("header-name")
その上で定義された