Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
WebSockets Mit CloudFront Distributionen verwenden
Amazon CloudFront unterstützt die Verwendung eines TCP-basierten Protokolls WebSocket, das nützlich ist, wenn Sie langlebige bidirektionale Verbindungen zwischen Clients und Servern benötigen. Eine persistente Verbindung ist bei Echtzeit-Anwendungen oft erforderlich. Zu den Szenarien, die Sie verwenden könnten, WebSockets gehören Social-Chat-Plattformen, Arbeitsbereiche für die Online-Zusammenarbeit, Spiele für mehrere Spieler und Dienste, die Datenfeeds in Echtzeit bereitstellen, wie z. B. Finanzhandelsplattformen. Bei der WebSocket Vollduplex-Kommunikation können Daten über eine Verbindung in beide Richtungen fließen.
WebSocket Die Funktionalität wird automatisch aktiviert, sodass sie mit jeder Distribution funktioniert. Um sie zu verwendenWebSockets, konfigurieren Sie im Cache-Verhalten, das Ihrer Distribution zugewiesen ist, eine der folgenden Optionen:
-
Leiten Sie alle Header von Zuschaueranfragen an Ihren Ursprung weiter. Sie können die Richtlinie für AllViewer verwaltete Anfragen mit Herkunft verwenden.
-
Leiten Sie die Header
Sec-WebSocket-Key
und dieSec-WebSocket-Version
Anforderungsheader in Ihrer Richtlinie für ursprüngliche Anfragen ausdrücklich weiter.
Wie funktioniert das WebSocket Protokoll
Das WebSocket Protokoll ist ein unabhängiges, TCP-basiertes Protokoll, mit dem Sie einen Teil des Mehraufwands — und die potenziell erhöhte Latenz — von HTTP vermeiden können.
Um eine WebSocket Verbindung herzustellen, sendet der Client eine reguläre HTTP-Anfrage, die die Upgrade-Semantik von HTTP verwendet, um das Protokoll zu ändern. Der Server kann dann den Handshake abschließen. Die WebSocket Verbindung bleibt geöffnet und entweder der Client oder der Server können Datenframes aneinander senden, ohne jedes Mal neue Verbindungen herstellen zu müssen.
Standardmäßig verwendet das WebSocket Protokoll Port 80 für reguläre WebSocket Verbindungen und Port 443 für WebSocket Verbindungen über TLS/SSL. Die Optionen, die Sie für Ihre CloudFront Viewer-Protokollrichtlinien und wählen, Protokoll (nur benutzerdefinierte Ursprünge) gelten sowohl für WebSocket Verbindungen als auch für HTTP-Verkehr.
WebSocket-Voraussetzungen
WebSocket Anfragen müssen RFC 6455
Beispiel für eine Kundenanfrage
GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ== Origin: https://example.com Sec-WebSocket-Protocol: chat, superchat Sec-WebSocket-Version: 13
Beispiel für eine Serverantwort
HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo= Sec-WebSocket-Protocol: chat
Wenn die WebSocket Verbindung durch den Client oder Server oder durch eine Netzwerkunterbrechung unterbrochen wird, wird erwartet, dass die Client-Anwendungen die Verbindung mit dem Server wieder aufnehmen.
Empfohlene Header WebSocket
-
Sec-WebSocket-Key
-
Sec-WebSocket-Version
-
Sec-WebSocket-Protocol
-
Sec-WebSocket-Accept
-
Sec-WebSocket-Extensions