Funktion | Bidirektionale Kommunikation über eine TCP-Verbindung für Webbrowser |
---|---|
Akronym | ws |
Erstellungsdatum | 2011 |
Hafen | 80 und 443 |
RFC | 6455 |
WebSocket ist ein Web - Standard ein Bezeichnen Netzwerk - Protokoll der Anwendungsschicht und eine Programmierschnittstelle des World Wide Web erstellen Vollduplex - Kommunikationskanäle über eine TCP - Verbindung für Web - Browser. Das Protokoll wurde 2011 von der IETF in RFC 6455 und die Programmierschnittstelle vom W3C standardisiert .
Das WebSocket-Protokoll ermöglicht das Öffnen eines bidirektionalen (oder " Vollduplex ") Kommunikationskanals auf einem TCP- Socket für Browser und Webserver . Insbesondere erlaubt es daher:
Die zunehmende Interaktivität von Webanwendungen nach der Verbesserung der Browserleistung machte es schnell erforderlich, bidirektionale Kommunikationstechniken zwischen der Client-Webanwendung und den Serverprozessen zu entwickeln. Techniken, die auf dem Anforderungsaufruf des Clients über das XMLHttpRequest-Objekt und der Verwendung von HTTP-Anforderungen mit einem langen TTL- Typ basieren, die vom Server für eine nachfolgende Antwort an den Client gespeichert wurden, haben es möglich gemacht, diesen Mangel zu überwinden, und wurden durch die erfolgreichen Ajax- Architekturen populär gemacht .
Laut dem Informatiker Stéphane Bortzmeyer bietet "WebSocket Anwendungen daher praktisch den gleichen Service wie TCP" , hat jedoch den Vorteil, dass die vielen Zwischenhindernisse für Netzwerkflüsse ( Firewalls usw.) im "Dschungel", der zum heutigen Web wird, umgangen werden . Durch die Verwendung der HTTP-Architektur (Relay, Authentifizierung, Ports 80 und 443) und sehr wenig Filterung zur Erstellung eines neuen Transportprotokolls möchten die Entwickler von Websocket eine bidirektionale Netzwerkkommunikation sicherstellen, die nicht mehr über TCP garantiert werden kann. Die Hauptbeschränkung von Websocket besteht darin, dass es sich nicht um ein allgemeines Protokoll handelt: Die Kommunikation muss unbedingt über den Webbrowser des Clients oder über bestimmte dedizierte Bibliotheken erfolgen (siehe Abschnitt „Implementierungen“ ).
Die WebSocket-Programmierschnittstelle wurde innerhalb der WHATWG entwickelt .
Das Prinzip von WebSocket wurde während seiner Entwicklung in den Spezifikationsgremien in Frage gestellt, da es wohl besser war, die in der Netzwerkschicht gefundenen Filterprobleme zu lösen, als ein neues Protokoll darüber der Anwendungsschicht zu erstellen.
In der API früherer Versionen von Websocket wurde eine Sicherheitslücke entdeckt. Die Sicherheit beim Surfen wurde beeinträchtigt, indem während der Handshake- Phase eine JavaScript-Datei durch Malware ersetzt wurde. Da sich dieser Fehler in der API selbst befindet, konnte er durch keinen Patch im Browser behoben werden. In einigen Versionen von Browsern wie Firefox 4 und 5, Opera 11 und Internet Explorer 9 wurde WebSocket aufgrund dieses Fehlers deaktiviert.
Die Sicherheitslücke in Firefox wurde von Firefox 6 (Gecko 6.0-Engine) behoben.
Internet Explorer hat den Websocket mit IE10 implementiert.
In Opera war es immer möglich, den Websocket wieder zu aktivieren. Ab Opera 12 ist der Websocket aktiviert.
Eigenschaften | Chrom | Firefox (Gecko) | Internet Explorer | Oper | Safari |
---|---|---|---|---|---|
Unterstützung für Version -76 | 6 | 4,0 (2,0) | Keine Unterstützung | 11.00 (deaktiviert) | 5.0.1 |
Unterstützung für Protokollversion 7 | Keine Unterstützung | 6.0 | Keine Unterstützung | Keine Unterstützung | Keine Unterstützung |
Unterstützung für Protokollversion 10 | 14 | 7.0 | HTML5 Labs | ? | ? |
Standard - RFC 6455- Unterstützung | 16 | 11.0 | 10 | 12.10 | 6 |