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クライアント:サポートされているブラウザ