Server Side Events

Способ быстрого обмена сообщениями от сервера к клиенту посредством стандартного HTTP.

Открывается через конструктор объекта JS:

var source = new EventSource("http://site.com/stream", {
  withCredentials: true
});

Браузер сам восстанавливает соединение при разрыве.
Сервер присылает данные в специальном формате:

data: Какое-то сообщение
id: 2

JSON также переводится в строки. Перенос строки делается с помощью \n

data: {\n
data: "msg": "hello world",\n
data: "id": 12345\n
data: }\n\n

Сообщения разделяются двумя строками \n\n.

Событий всего три:
onmessage – пришло сообщение, доступно как event.data
onopen – при успешном установлении соединения
onerror – при ошибке соединения.

Не поддерживается IE, в том числе Edge и Mobile.

Теги: