WebSocket

2023-02-24 (金) 09:46:22

WebSocket とは

  • Webブラウザとサーバ間でソケット接続を確立して、1つのTCPコネクション上で双方向通信を行う通信プロトコル
  • リアルタイム性
  • HTML5から派生した仕様
  • API(JavaScript等)の仕様はW3Cが規定
  • プロトコルの仕様はIETFが規定
  • RFC6455
  • 接続時にHTTPのポート(80)で受け取ったリクエストをWebSocketにアップグレードする。同じポートで持続できる。
  • チャットなどで使われる

特徴

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

クライアント側の作り

接続(ハンドシェイク)

  • onopenイベントハンドラが実行される

送信

受信

  • onmessageイベントハンドラが実行される

ライブラリ

  • Socket.IO

関連仕様

関連用語