5.7. サーバー向けイベント

サーバー送信イベント (SSE) は、HTTP サーバーがクライアントに単方向の更新を送信できるようにするプッシュテクノロジーです。SSE は、イベントソースとクライアント間の接続を確立することで機能します。イベントソースはこの接続を使用してイベントをクライアント側にプッシュします。サーバーがイベントをプッシュした後、接続は開いたままになり、後続のイベントをプッシュするのに使用できます。クライアントがサーバー上のリクエストを終了すると、接続は閉じられます。SSE は、クライアントが更新のためにイベントソースをポーリングするたびに新しい接続を確立する必要があるポーリングの代替手段を表します。WebSocket とは対照的に、SSE は 1 つの方向でイベントをプッシュします (つまり、ソースからクライアントへ)。イベントソースとクライアント間の双方向通信を処理しません。

SSE の指定は HTML5 に組み込まれており、レガシーバージョンを含む Web ブラウザーで広くサポートされます。SSE はコマンドラインから使用でき、他のプロトコルと比較してセットアップが比較的簡単です。

SSE は、サーバーからクライアントに頻繁に更新を必要とするユースケースに適していますが、クライアント側からサーバーへの更新の頻度は低くなることが予想されます。クライアント側からサーバーへの更新は、REST などの別のプロトコルで処理できます。このようなユースケースの例には、新規ファイルがファイルサーバーにアップロードされる時に、ソーシャルメディアフィードの更新やクライアントに送信される通知が含まれます。