Websocket(Web socket)
2101 ワード
AJAXの制限
AJAX(Asynchronous JavaScript And XML)とは?HTTPにより、クライアントがサーバに必要なデータの一部を非同期で受信できる技術.AJAXが登場する前に、ブラウザから新しいリクエストが出るたびにサーバーがWebページ全体を送信し、AJAXが登場するとページの一部が更新されます.
JSからのデータの非同期要求と受信方法
-JAXの
-Fetch APIの使用
- axios
AJAXの限界
HTTPに基づく技術では,クライアントから要求があった場合にのみサーバが応答する.(=一方向通信)
データのリアルタイム更新(ex.チャットルーム)が必要な場合、サーバは応答できる必要があり、AJAXは一方向通信であるため不可能である.
リアルタイム通信を行う方法(双方向通信のように見える一方向通信を用いる方法)
ポーリング:クライアントが定期的にサーバにリクエストを送信する方法.
long-polling:クライアントがサーバに要求を送信すると、サーバ側にデータがクライアントに送信されるまで接続が維持されます.クライアントは、サーバからの応答を受信すると、すぐにサーバに要求を送信します.
ポーリングはリアルタイムとは見なされず、ポーリングと長いポーリングの欠点は、クライアントのリクエストが多くなるとサーバの負担が増加することです.
Websocketが現れる
WebソケットはHTTPの欠点を補うために提案されたプロトコルである.一方的にしか通信できないHTTPとは異なり,クライアントからの要求がなくてもサーバを介してデータを送信することができる.
オペレーションプロセス
websocketはhttp(80)、http(443)と同じポート番号を使用します.
1.握手:サーバーとクライアントが接続を確立する過程、HTTPプロトコルを使用する.
握手リクエストヘッダ
3.データ交換:サーバとクライアントはデータフレームの形式でデータを交換する.
4.接続解除:接続を解除する側からcloseフレームを送信し、応答を受信すると接続を解除します.
reference Ajaxベース HTTPからWEBSOCKETへ 1. Websocket Webソケットサーバ-MDNの作成
AJAX(Asynchronous JavaScript And XML)とは?HTTPにより、クライアントがサーバに必要なデータの一部を非同期で受信できる技術.AJAXが登場する前に、ブラウザから新しいリクエストが出るたびにサーバーがWebページ全体を送信し、AJAXが登場するとページの一部が更新されます.
JSからのデータの非同期要求と受信方法
-JAXの
XMLHttpRequest
オブジェクト-Fetch APIの使用
- axios
AJAXの限界
HTTPに基づく技術では,クライアントから要求があった場合にのみサーバが応答する.(=一方向通信)
データのリアルタイム更新(ex.チャットルーム)が必要な場合、サーバは応答できる必要があり、AJAXは一方向通信であるため不可能である.
リアルタイム通信を行う方法(双方向通信のように見える一方向通信を用いる方法)
ポーリング:クライアントが定期的にサーバにリクエストを送信する方法.
long-polling:クライアントがサーバに要求を送信すると、サーバ側にデータがクライアントに送信されるまで接続が維持されます.クライアントは、サーバからの応答を受信すると、すぐにサーバに要求を送信します.
Websocketが現れる
WebソケットはHTTPの欠点を補うために提案されたプロトコルである.一方的にしか通信できないHTTPとは異なり,クライアントからの要求がなくてもサーバを介してデータを送信することができる.
オペレーションプロセス
websocketはhttp(80)、http(443)と同じポート番号を使用します.
1.握手:サーバーとクライアントが接続を確立する過程、HTTPプロトコルを使用する.
握手リクエストヘッダ
GET /chat HTTP/1.1
Host: example.com:8000
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
握手応答ヘッドHTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2.プロトコル交換:握手プロセス終了後、HTTPからWebSocketにプロトコルを変更する.httpの場合はwsに変更し、httpの場合はwssに変更します.3.データ交換:サーバとクライアントはデータフレームの形式でデータを交換する.
4.接続解除:接続を解除する側からcloseフレームを送信し、応答を受信すると接続を解除します.
reference
Reference
この問題について(Websocket(Web socket)), 我々は、より多くの情報をここで見つけました https://velog.io/@sqaurelu/websocketテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol