Server-Sent Events (SSE) были введены в HTML5 для создания однонаправленного соединения с сервером, позволяющего серверу отправлять данные клиенту в режиме реального времени, не требуя постоянных запросов со стороны клиента (polling).
Преимущества SSE по сравнению с традиционным polling:
Сценарии использования SSE:
Пример использования SSE:
Клиентский код:
javascript
Серверный код (пример на Node.js с использованием Express):
javascript
SSE является альтернативой WebSocket в случаях, когда необходима только однонаправленная передача данных от сервера клиенту. WebSocket, в свою очередь, предоставляет двунаправленное соединение, подходящее для сценариев, где клиент также должен отправлять сообщения на сервер (например, чаты, многопользовательские игры).