
ゼネットの西村です。
WebSocketについて業務で扱ったので、
今回はWebSocketについての情報を初心者向けにまとめてみました。
WebSocketとは?
WebSocketを一言でいうと「双方向通信を可能にするプロトコル」です。
特筆すべき点は以下になります。
- クライアントとサーバー間で常時接続を維持
- リアルタイム通信が可能
HTTPとはどう違うのか?
HTTPについて
- HTTPはクライアントがリクエストを送信しない限り
サーバからのデータ送信はできません。
HTTPの通信図

WebSocketについて
- WebSocketは「双方向にデータを送受信できる」ことがHTTPとは異なる大きな特徴になります。
そのため、チャットツールのように誰かが入力したメッセージが他の利用者の画面に即座に反映される仕組みではWebSocketがよく利用されます。- (*以下の図の①と②の工程がハンドシェイクとなります。
ハンドシェイクはHTTP経由で行われて、WebSocket確立後はHTTPとは異なるプロトコルで動作します。)
- (*以下の図の①と②の工程がハンドシェイクとなります。
WebSocketの通信図

どんなアプリに使われてるの?
WebSocketが使用されているアプリケーションには以下のものがあります。
特徴としてはリアルタイム性が高いアプリケーションに使用されることが多いです。
- SNS
- チャットアプリ
- オンラインゲーム
- 株価や仮想通貨などの取引サイト
最後に
最後まで読んでいただきありがとうございます。
今回はWebSocketについての初心者向けの知識についてまとめました。
初めてWebSocketを触った時は何がなんだか分からなかったのですが、
HTTPとの違いなどからWebSocketを紐解くと意外と分かりやすかったりします。
今後機会があればRuby on RailsでのWebSocketの実装方法や、
セキュリティ的に注意するべき内容なども書いていきたいです。
参考文献
