コンテンツにスキップ

HTML5クライアント:WebsocketsとXHRの違いは何ですか?

Websocketsは、順序を問わず、httpヘッダーなしでデータを受信/送信するために使用できる持続的な接続です。

Xhrポーリングは新しいリクエストをhttpヘッダーで作成し、httpヘッダーでの回答を待ちます。また、順次の順序です。

そうすることで、XHRデータフローは常に次のようになります:

HTTP_HEADER_REQUEST -> HTTP_HEADER_ANSWER HTTP_HEADER_REQUEST -> HTTP_HEADER_ANSWER and so on

データをダウンロードする前に、HTTP_HEADERでリクエストする必要があります。そのため、名前はxhr-pollingです。

Websocketsデータフローは次のように見える場合があります:

FRAME_DATA_SEND FRAME_DATA_SEND FRAME_DATA_RECEIVE FRAME_DATA_SEND FRAME_DATA_RECEIVE FRAME_DATA_RECEIVE

特別な順序やHTTPヘッダーデータなしで、ランダムなデータの送受信でもあります。

それにより、ほとんどの知られているリバースプロキシがWebsocketsをサポートしていないため、リバースプロキシとの使用が不可能になります。ただし、xhrトランスポートの半分はApacheリバースプロキシで動作する可能性があります。

またご覧ください: HTML5クライアント:サポートされているブラウザ