読み方 : サーバそうしんイベント
サーバ送信イベント【SSE】Server-Sent Events
概要

通常のHTTP通信では、ブラウザがサーバへ要求を送り、サーバがそれに応答した時点で一往復のやり取りが完結する。サーバ側に新しい情報が生まれても、ブラウザから次の要求がない限り送信できない。
サーバ送信イベントでは、一度接続を開いておけば、サーバは要求を待たずに任意のタイミングでブラウザへデータを発信できる。通信内容は「text/event-stream」というMIMEタイプのテキストデータとして送られ、複数のデータは空行で区切られる。
ブラウザ側では、「EventSource」というJavaScriptの標準機能を使って接続を開始し、受信したデータをイベントとして扱う。イベントにはデータの内容を示す「data」のほか、種類を示す「event」や識別番号を示す「id」などの項目を設定できる。接続が切断された場合はブラウザが自動的に再接続を試み、「Last-Event-ID」という情報をHTTPリクエストでサーバへ通知することで、途切れた続きからデータを受け取ることも可能である。
データの配信はサーバから利用者側への一方向に限られ、利用者側からサーバへ送る場合は通常のHTTPリクエストなどを別途利用する。この点で、双方向の通信を行う類似技術のWebSocketとは性質が異なる。株価やニュースの更新、処理の進捗通知、チャットの回答が少しずつ表示される仕組みなど、サーバ側で生じた変化を画面に伝えたい場面で利用される。
(2026.9.25更新)