In diesem Tutorial wird das, was diese Technologien mit sich bringen und was jeder von ihnen bietet. Dies hilft Ihnen, je nach den von Ihnen gesuchten Funktionen zu verstehen und eine Wahl zu treffen.
NOTIZ: Dieser Leitfaden ist kein Primer für eine der oben genannten Technologien. Es ist einfach ein Überblick darüber, was man über den anderen bieten kann.
Lassen Sie uns anfangen:
Websockets
WebSocket ist ein Standardprotokoll, das eine anhaltende Verbindung zwischen einem Server und einem Client bietet. Websockets sind bidirektional. Dies bedeutet, dass ein Server und ein Client und eine Sende- und Empfangsdaten im selben Kanal befinden. Es handelt sich um ein Full-Duplex-Kommunikationsprotokoll, das auf TCP/IP-Socket implementiert ist.
Websockets helfen dabei, den Grenzen des HTTP -Protokolls entgegenzuwirken.
Erstens ist das HTTP -Protokoll nicht bidirektional. Der Client fordert eine bestimmte Ressource auf dem Server an. Sobald der Server die Ressource an den Client findet und sendet, schließt die Verbindung. Das bedeutet, dass bei einem sehr aktiven Datenfluss wie Streaming -Dienst zu viele Serveranforderungen vorhanden sind.
Im Gegensatz zu HTTP können WebSockets eine Verbindung verwalten, bis entweder der Client oder der Server sie endet. Es funktioniert, indem zuerst ein Handschlag zwischen dem Client und dem Server erstellt wird, gefolgt von einem Upgrade -Header. Sobald festgestellt wurde, wird ein Datenfluss zwischen dem Server und dem Client festgelegt.
Das obige Diagramm zeigt, wie das HTTP -Protokoll im Vergleich zu WebSockets funktioniert.
NOTIZ: Die oben genannten Diagramme vermitteln weder in HTTP- noch in WebSocket-Protokollen ein vollwertiges Wissen über vollwertige Kenntnisse.
Http/2
HTTP/2 oder HTTP2 ist die zweite Implementierung des HTTP -Netzwerkprotokolls zur Definition des Formats und der Übertragung von Daten. Der Zweck von HTTP/2 besteht darin, die Leistung über HTTP durch Reduzierung der Latenz zu verbessern, die durch Aktivieren von Funktionen wie vollständige Anforderung und Reaktion und die Minimierung des Protokollaufwands durch Komprimierung von Header -Dateien minimieren.
HTTP/2 wird in wichtigen Browsern unterstützt und im gesamten Web verwendet.
Im Folgenden finden Sie einige der Vorteile von HTTP/2:
Das obige ist ein grundlegender Überblick über die Merkmale des HTTP/2 -Protokolls. Unten finden Sie eine einfache Darstellung des HTTP -Protokolls.
Kredit: Mozilla Developer Network https: // Entwickler.Mozilla.org/en-us/docs/web/http/Übersicht
Server-Sent-Ereignisse
Server-Sent-Event (SSEs) ist eine Technologie, mit der der Client Aktualisierungen von einem HTTP-Server empfangen kann. Obwohl es immer möglich war, Updates vom Server zum Client zu übertragen, müsste der Client anfordern, wenn Aktualisierungen auf dem Server vorhanden sind. Verwenden von SSEs sind Aktualisierungen automatisch.
SSEs werden mit regelmäßigen HTTP -Datenströmen implementiert. Daher sind SSEs auf den Verbindungspool des Clients (Browser) von 6 gleichzeitigen HTTP -Verbindungen zu einem Server beschränkt. Sie bieten jedoch nicht die Funktionalität, einen abgelassenen Client zu erkennen.
https: // html.Spezifikation.Waswg.org/multipage/server-sent-event.HTML#Server-Sent-Events
Sie können auch Ressourcen für den SSE -Kunden in den unten angegebenen Links finden:
https: // github.com/mpetazzoni/sseclient
https: // github.com/bTubbs/sseclient
Websockets vs. Http/2 vs. SSE
Lassen Sie uns nun zum Thema gehen und die Unterschiede zwischen den diskutierten Technologien auflisten.
Websocket | Http/2 | SSE |
---|---|---|
Vollduplex | Halbduplex | Vollduplex |
Bidirektional | Eine Interaktion von einem Client mit einer bestimmten HTTP -Methode ist erforderlich | Unidirektional |
Weniger Overhead | Overhead zum SSL -Handschlag hinzugefügt | |
Service Push ist eine Basisimplementierung des Protokolls | Nur in HTTP/2 unterstützt | Die Basistechnologie |
Unterstützt von großen Browsern | In allen Browsern unterstützt | Nicht alle Browser unterstützen es. |
1024 Parallele Verbindungen | 6-8 Parallele Verbindungen | 6 Parallele Verbindungen |
Nicht standardmäßiger Lastausgleich | Standard -Lastausgleich | Standard -Lastausgleich |
Abschluss
Wir haben Technologien wie WebSockets, ihre Arbeit und ihre Implementierung durchgesehen. Dieses Tutorial dient nur als Grundlage für die genannten Technologien. Betrachten Sie externe Ressourcen, um mehr zu erfahren.