0

http 要求ヘッダーには、http プロトコルのアップグレード用に設定できる「アップグレード」という名前のフィールドがあります。WebSocket ハンドシェイクの最初のステップと同様に、ヘッダー内の「アップグレード」フィールドを使用して http 要求をサーバーに送信します。

HTTPリクエストヘッダーに「アップグレード」フィールドを設定する方法をいくつか試しました:

1:

$.ajax({
    url: "/Http-Header-Test/ServerTest",
    type: "POST",
    beforeSend: function (xhr)
    {
        xhr.setRequestHeader("Upgrade", "Dummy Protocol");
    },
    success: function () {alert("Ajax call success")},
    error: function (error) { alert("Ajax call failed: "+ error.status + ": " + error.responseText)}
});

2:

$.ajax({
    url: "/Http-Header-Test/ServerTest",
    type: "POST",
    headers: {"Upgrade" : "Dummy Protocol" 
             },
    success: function () {alert("Ajax call success")},
    error: function (error) { alert("Ajax call failed: "+ error.status + ": " + error.responseText)}
});

3:

var client = new XMLHttpRequest();
client.open("POST", "/Http-Header-Test/ServerTest", false);
client.setRequestHeader("Accept", "TEST");
client.setRequestHeader("Upgrade", "Dummy Protocol");
client.send(null);

それらのいずれも、HTTP 要求ヘッダーの「アップグレード」フィールドを変更できません。興味深いのは、「Accept」フィールドを設定できることです。誰か助けてくれませんか?

4

0 に答える 0