本文へスキップ

Server-Sent Eventsとは?

さーばーせんとぃべんつ

Server-Sent Eventsとは、サーバーからクライアントへHTTP接続を維持しながらリアルタイムにデータを一方向で送り続けるWeb技術です。

Server-Sent Events(SSE)とは、Webサーバーブラウザ(クライアント)に対してHTTP接続を維持したまま、テキスベースイベントデータをリアルタイムかつ一方向に送り続けるための技術仕様です。HTML Living Standardで定義されており、ブラウザのEventSource APIを使って実装します。

WebSocketと比較して、SSEはHTTP/1.1の上で動作するシンプルな仕組みである点が特徴です。クライアントがサーバーに接続を開くと、サーバーはtext/event-streamというMIMEタイプのレスポンスを送り続けます。接続が切れた場合、ブラウザは自動的に再接続を試みます。

SSEの主な特徴は以下の通りです。

  • サーバーからクライアントへの一方向通信に特化している
  • HTTPの上で動作するため、既存のインフラやプロキシと親和性が高い
  • ブラウザによる自動再接続機能を標準で持つ
  • テキスト(UTF-8)形式のデータ送信に向いている
  • 双方向通信はサポートしない(その場合はWebSocketが適切)

SSEは、株価情報のリアルタイム更新・チャットの新着通知・AIチャットボットの文字ストリーミング・ダッシュボードのライブ更新など、サーバーから定期的にデータをプッシュする用途に適しています。双方向のやり取りが不要な場面ではWebSocketより実装が簡潔です。

使い方・例文

AIチャットサービスでアシスタントの回答が文字単位で少しずつ表示される仕組みはSSEを使っていることが多いです。「バックエンドがSSEでトークンを逐次送信し、フロントエンドのEventSourceがそれを受け取って表示する」のような形で使われます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語