Отправленные сервером события - Server-sent events

Отправленные сервером события (SSE) это сервер push технология, позволяющая клиенту получать автоматические обновления с сервера через HTTP-соединение. API EventSource событий, отправляемых сервером, стандартизирован как часть HTML5[1] посредством W3C.

История

В WHATWG Предложение веб-приложений 1.0[2] включает механизм для отправки контента клиенту. 1 сентября 2006 г. веб-браузер Opera реализовал эту новую экспериментальную технологию в функции, называемой «События, отправленные сервером».[3][4]

Обзор

Server-Sent Events - это стандарт, описывающий, как серверы могут инициировать передачу данных клиентам после того, как было установлено начальное клиентское соединение. Они обычно используются для отправки обновлений сообщений или непрерывных потоков данных клиенту браузера и предназначены для улучшения нативной кроссбраузерной потоковой передачи через API JavaScript под названием EventSource, через который клиент запрашивает определенный URL-адрес для получения потока событий.

Веб-браузеры

Поддержка веб-браузером событий, отправленных сервером
БраузерПоддерживаетсяПримечания
Internet ExplorerНет[5]
Mozilla FirefoxдаНачиная с Firefox 6 [5]
Гугл ХромдаНачиная с Chrome 6 [5]
ОперадаНачиная с Opera 11.5 [5]
СафаридаНачиная с Safari 5.0 [5]
Microsoft EdgeдаНачиная с Edge 79 [5]

Библиотеки

.СЕТЬ

ASP.NET

  • SignalR - Прозрачная реализация для ASP.NET.

C

  • HaSSEs Асинхронный серверный демон SSE, написанный на C (он использует один поток для всех подключенных клиентов).

Erlang

  • Лассе Обработчик сервера EventSource для ковбоя Эрланга
  • Дробовик Клиент EventSource в Erlang

Идти

Ява

  • УСЛОВИЯ - Асинхронная реализация на стороне сервера для сервлетов Java и Vert.x
  • Akka HTTP имеет поддержку SSE с версии 10.0.8
  • Коннектор источника событий alpakka Библиотека EventSource для alpakka, поддерживающая переподключение
  • Весна WebFlux Реализация Java на стороне сервера и клиента, построенная на реактивных потоках и неблокирующих серверах
  • Джерси имеет полную реализацию JAX-RS поддержка событий, отправленных сервером, как определено в JSR-370
  • Микронавт HTTP-сервер поддерживает отправку событий, отправленных сервером
  • JeSSE - Серверная библиотека с управлением пользователями / сеансами, групповой трансляцией и аутентификацией
  • Армерия имеет серверную и клиентскую асинхронную реализацию SSE, построенную поверх Netty и Reactive Streams
  • Play Framework Источник событий для отправки событий сервера

Node.js

Цель C

  • TRVSEventSource - Реализация EventSource в Objective-C для iOS и macOS с использованием NSURLSession.

Perl

  • Mojolicious - Веб-фреймворк реального времени Perl.

PHP

Python

Рубин

  • Фэй - Простой обмен сообщениями между публикациями и подписками в Интернете.

Ржавчина

  • Деформация Сверхпростая, компонуемая среда веб-сервера для скорости деформации.

Scala

Быстрый

  • EventSource - Реализация EventSource с использованием NSURLSession

Смотрите также

Рекомендации

  1. ^ «События, отправленные сервером». W3C. 17 июля 2013 г.
  2. ^ «Спецификация веб-приложений 1.0».
  3. ^ «Трансляция событий в веб-браузеры».
  4. ^ Поток обновлений с помощью событий, отправленных сервером, Эрик Бидельман, веб-сайт HTML5Rocks.
  5. ^ а б c d е ж Когда я могу использовать ... Отправленные сервером события DOM

внешняя ссылка