Отправленные сервером события - 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] |
Библиотеки
.СЕТЬ
- Стек обслуживания Библиотека EventSource как с серверной, так и с клиентской реализациями.
ASP.NET
- SignalR - Прозрачная реализация для ASP.NET.
C
- HaSSEs Асинхронный серверный демон SSE, написанный на C (он использует один поток для всех подключенных клиентов).
Erlang
Идти
- источник событий Библиотека EventSource для Go.
- Go-sse Реализация SSE для Go.
- go-rfc / sse Оптимизированный декодер SSE для Go
Ява
- УСЛОВИЯ - Асинхронная реализация на стороне сервера для сервлетов 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
- sse-stream - Node.js /Browserify реализация (клиент и сервер).
- total.js - фреймворк веб-приложений для Node.js - пример + поддерживает WebSockets (RFC 6455 )
- узел источника событий - Клиент EventSource для Node.js
- Тема-SSE - Библиотека для Node.js и веб-браузера для разработки безопасности и высокопроизводительного SSE.
Цель C
- TRVSEventSource - Реализация EventSource в Objective-C для iOS и macOS с использованием NSURLSession.
Perl
- Mojolicious - Веб-фреймворк реального времени Perl.
PHP
- Hoa Eventsource - Серверная реализация.
Python
- Клиент Python SSE - Клиентская библиотека EventSource для Python с использованием библиотеки запросов.
- Клиент серверных событий (SSE) для Python - Клиентская библиотека EventSource для Python с использованием запросов или библиотеки urllib3.
- django-eventstream - События, отправленные сервером для Django.
- фляжка - Простое расширение Flask на базе Redis.
- sse
- библиотека источника событий - Реализация на python2 с Tornado. Клиентские и серверные реализации.
Рубин
- Фэй - Простой обмен сообщениями между публикациями и подписками в Интернете.
Ржавчина
- Деформация Сверхпростая, компонуемая среда веб-сервера для скорости деформации.
Scala
- Akka HTTP имеет поддержку SSE с версии 10.0.8
- Коннектор источника событий alpakka Библиотека EventSource для альпакка который поддерживает переподключение
Быстрый
- EventSource - Реализация EventSource с использованием NSURLSession
Смотрите также
Рекомендации
- ^ «События, отправленные сервером». W3C. 17 июля 2013 г.
- ^ «Спецификация веб-приложений 1.0».
- ^ «Трансляция событий в веб-браузеры».
- ^ Поток обновлений с помощью событий, отправленных сервером, Эрик Бидельман, веб-сайт HTML5Rocks.
- ^ а б c d е ж Когда я могу использовать ... Отправленные сервером события DOM
внешняя ссылка
- Отправленные сервером события. Рекомендация W3C.
- HTML5 Server-push технологии, часть 1. Введение в HTML5 Server-push технологии. В части 1 рассматриваются события ServerSent.
- Использование событий, отправленных сервером. Краткий пример использования событий, отправленных сервером, в сети разработчиков Mozilla.
- Ссылка на EventSource на MDN
- Django push: использование событий, отправленных сервером, и WebSocket с Django Django push: использование событий, отправленных сервером, и WebSocket с Django.
- Пример событий, отправленных сервером, весной
- События, отправленные сервером, и веб-сокеты