Server-Sent-Ereignisse
Server-Sent-Ereignisse (Sse) ist ein Serverschub Technologie ermöglicht es einem Client, automatische Aktualisierungen von einem Server über eine HTTP -Verbindung zu erhalten, und beschreibt, wie Server die Datenübertragung zu Clients initiieren können, sobald eine erste Clientverbindung hergestellt wurde. Sie werden üblicherweise verwendet, um Nachrichtenaktualisierungen oder kontinuierliche Datenströme an einen Browser-Client zu senden und das native Cross-Browser-Streaming durch eine JavaScript-API namens EventSource zu verbessern, durch die ein Client eine bestimmte URL anfordert, um einen Ereignisstrom zu erhalten. Die EventSource -API ist als Teil von standardisiert HTML5[1] bis zum Waswg. Das Mime Typ Denn SSE ist Text/Ereignisstrom
.
Geschichte
Der SSE -Mechanismus wurde zuerst von spezifiziert von Ian Hickson Im Rahmen des "Waswg Webanwendungen 1.0 "Vorschlag ab 2004.[2] Im September 2006 die Opera Webbrowser Implementierte die experimentelle Technologie in einer Funktion namens "Server-Sent-Ereignisse".[3][4]
Browserunterstützung
Alle modernen Browser unterstützen server-sent-Ereignisse: Feuerfuchs 6+,, Google Chrome 6+,, Oper 11,5+, Safari 5+,, Microsoft Edge 79+.[5]
Bibliotheken
.NETZ
- Service -Stack EventSource -Bibliothek mit Server- und Client -Implementierungen.
ASP.NET
- SignalR - transparente Implementierung für ASP.NET.
C
- Schwierigkeiten Asynchronous serverseitiger SSE-Daemon, der in C geschrieben wurde (verwendet einen Thread für alle verbundenen Clients).
Erlang
- Lasse EventSource Server -Handler für Erlangs Cowboy
- Schrotflinte EventSource -Kunde in Erlang
gehen
- Eventource EventSource Library für Go.
- SSE SSE -Implementierung für Go.
- sse SSE mit optimierter Decoder für Go
- Gosse Serverseitige Implementierung mit Kanalkonzept und weiteren Funktionen für die Verwendung von Out-of-the-Box.
Java
- Javalin - Leichtes Java- und Kotlin -Web -Framework
- Jaese - serverseitige asynchrone Implementierung für Java-Servlets und vert.x
- Akka http hat SSE -Unterstützung Seit Version 10.0.8
- Alpakka Event Source Connector EventSource -Bibliothek für Alpakka, die die Wiederverbindung unterstützt
- Spring WebFlux Server- und Client-Seiten-Java-Implementierung basiert auf reaktiven Streams und nicht blockierenden Servern
- Jersey hat eine vollständige Umsetzung von JAX-RS Unterstützung für Servergesendetereignisse wie definiert in JSR-370
- Mikronaut Der HTTP -Server unterstützt den emittierenden Servergesendetereignisse
- Jesse - Serverseitige Bibliothek mit Benutzer-/Sitzungsverwaltung, Gruppenübertragung und Authentifizierung
- ARMERIA hat eine server- und clientseitige asynchrone SSE
- Play Framework Ereignisquelle für Server-Sent-Ereignisemissionen
- SSE -Kunde SSE Client Library
Node.js
- SSE-Stream - Node.js/Browserify Implementierung (Client und Server).
- Total.js - Webanwendungsframework für node.js - Beispiel + Unterstützt WebSockets (RFC 6455)
- EventSource-Node - EventSource Client für node.js
- Thread-sse - Eine Bibliothek für Node.js und Webbrowser zur Entwicklung von Sicherheits- und Hochleistungs-SSE.
Ziel c
- TrvSeVentSource - EventSource-Implementierung in Objective-C für iOS und macOS unter Verwendung von NsurlSession.
Perl
- Mojolicious - Perl Echtzeit-Web-Framework.
Php
- Hoa \ Eventource - Server -Implementierung.
Python
- SSE -Paket - Moderne Eventsource -Bibliothek in Python3.10.
- Python SSE -Kunde - EventSource Client Library für Python mit der Anforderungsbibliothek.
- SSE -Client (Server Side Events) für Python - EventSource Client Library für Python mit Anfragen oder Urllib3 -Bibliothek.
- Django-Eventstream - Server-Sent-Ereignisse für Django.
- Flask-Sse - Eine einfache Kolbenverlängerung, die von Redis angetrieben wird.
- sse
- SSE -Protokoll für Starlette - Server gesendet Ereignisse für Starlette und Fastapi.
- Event-Source-Bibliothek - Implementierung in Python2 mit Tornado. Client- und Server -Implementierungen.
- AIOHTTP-SSE - Server-Sent-Ereignisunterstützung für AIOHTTP.
Rubin
- Faye - Einfache Pub/Sub -Messaging für das Web.
Rost
- Kette Ein Webserver -Framework.
Scala
- Akka http hat SSE -Unterstützung Seit Version 10.0.8
- Alpakka Event Source Connector EventSource -Bibliothek für Alpakka was wiederverbindung unterstützt
Schnell
- Eventource - EventSource -Implementierung mit NsurlSession.
Siehe auch
Verweise
- ^ "HTML Living Standard: 9.2 Server-Sent-Ereignisse". Waswg. 31. März 2022.
- ^ "Webanwendungen 1.0 Spezifikation". Waswg. 2006-09-01. Archiviert vom Original am 2006-09-01. Abgerufen 2006-09-01.
{{}}
: CS1 Wartung: Ungeeignete URL (Link) - ^ Bersvendsen, Arve (1. September 2006). "Event -Streaming für Webbrowser". dev.opera.com.
- ^ Stream Updates mit Server-Sent-Ereignissen, Eric Bidelman, HTML5Rocks-Website.
- ^ Wann kann ich ... server-sent-DOM-Ereignisse verwenden
Externe Links
- Server-Sent-Ereignisse. HTML Living Standard.
- HTML5 Server-Push-Technologien, Teil 1. Einführung in HTML5-Server-Push-Technologien. Teil 1 deckt Serverente Ereignisse ab.
- Verwenden von Server-Sent-Ereignissen. Ein prägnantes Beispiel für die Verwendung von Server-Ereignissen im Mozilla Developer-Netzwerk.
- Ereignisurce -Referenz auf MDN
- Django Push: Verwenden von Serverereignissen und Websocket mit Django Django Push: Verwenden von Server-Ereignissen und Websocket mit Django.
- Beispiel für Server-Sent-Ereignisse im Frühjahr
- Server-Sent-Ereignisse gegen Websockets