TECHNOLOGY COMPARE

Server-Sent Events / WebSocket

「どっちが上?」ではなく、まず同じ仕事をする道具なのかを確認します。

DIRECT COMPARISON

直接比較しやすい組み合わせ

Server-Sent EventsとWebSocketはどちらも「通信・API方式」の技術なので、同じ土俵で比較しやすい組み合わせです。

通信・API方式

Server-Sent Events

サーバーからブラウザーへイベントを連続送信するWeb標準。HTTP接続上のテキストストリームをEventSourceで受信する。

何を担当する?

HTTP接続上のテキストストリームをEventSourceで受信する。

いつ使う?

  • 進捗や通知など一方向の更新を単純に配信するとき。

避けたい場面

  • クライアントからも同じ接続で頻繁にメッセージを送りたいとき。
通信・API方式

WebSocket

クライアントとサーバーが双方向通信を続けるWeb プロトコル。一度接続したチャネルで双方からメッセージを即時送信する。

何を担当する?

一度接続したチャネルで双方からメッセージを即時送信する。

いつ使う?

  • chat、共同編集、gameなど双方向の低遅延更新が必要なとき。

避けたい場面

  • サーバーからクライアントへの一方向通知だけで足りるとき。
DIRECT RELATION

WebSocketとServer-Sent Eventsはサーバーからのリアルタイム更新で比較される。一度接続したchannelで双方からmessageを即時送信する。一方、Server-Sent EventsはHTTP接続上のテキスト streamをEventSourceで受信する。