WebSocket のバックアップの現在との差分(No.2)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#author("2021-12-18T10:03:55+09:00","default:k1rou","k1rou")
#author("2023-02-24T09:46:22+09:00","default:k1rou","k1rou")
*WebSocket とは [#l7d626dd]
-クライアントとサーバが双方向通信できるようにするプロトコル
-Webブラウザとサーバ間でソケット接続を確立して、1つの[[TCP]]コネクション上で双方向通信を行う通信プロトコル

-リアルタイム性
-[[HTML5]]から派生した仕様
-API(JavaScript等)の仕様はW3Cが規定
-プロトコルの仕様はIETFが規定
-RFC6455
-接続時にHTTPのポート(80)で受け取ったリクエストをWebSocketにアップグレードする。同じポートで持続できる。
-チャットなどで使われる

*特徴 [#wf8be21a]
-TCP接続が持続
-サーバからクライアントにデータを送信できる
-接続後はデータ量が少なくなる(ヘッダ情報の省略とバイナリ化による)
-クロスオリジンを安全に扱える

*クライアント側の作り [#r12c2b0c]
**接続(ハンドシェイク) [#w1ff0db1]
-onopenイベントハンドラが実行される

**送信 [#z7a769d1]
-send()
-引数は、文字列、Blob、ArrayBuffer、ArrayBufferView

**受信 [#u5e14a34]
-onmessageイベントハンドラが実行される

*ライブラリ [#ic31eafd]
-Socket.IO

*関連仕様 [#j0b54e4d]
-WebSocket Extension
-Subprotocol

*関連用語 [#w66710bc]
-[[Ajax]]
-[[XMLHttpRequest]]
-[[XHR2]]
-Server-Sent Events
-[[HTTP/2]]