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")
それで定義された