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.