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-based 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 soziale Chat-Plattformen, Arbeitsbereiche für die Online-Zusammenarbeit, Spiele für mehrere Spieler und Dienste, die Datenfeeds in Echtzeit bereitstellen, wie Finanzhandelsplattformen. Bei einer WebSocket Vollduplex-Kommunikation können Daten über eine Verbindung in beide Richtungen übertragen werden.
WebSocket Die Funktionalität wird automatisch aktiviert, sodass sie mit jeder Distribution funktioniert. Um sie zu verwendenWebSockets, konfigurieren Sie eine der folgenden Optionen im Cache-Verhalten, das Ihrer Distribution zugeordnet ist:
-
Leiten Sie alle Viewer-Anforderungs-Header an Ihren Ursprung weiter. Sie können die Richtlinie für AllViewer verwaltete Ursprungsanfragen verwenden.
-
Leiten Sie die Anforderungs-Header
Sec-WebSocket-KeyundSec-WebSocket-Versionin Ihrer Ursprungsanforderungsrichtlinie ausdrücklich weiter.
Wie funktioniert das WebSocket Protokoll
Bei dem WebSocket Protokoll handelt es sich um ein unabhängiges TCP-based Protokoll, mit dem Sie einen Teil des Overheads — und möglicherweise der erhöhten 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 bestehen und entweder der Client oder der Server können sich gegenseitig Datenrahmen 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. Die Optionen, die Sie für Ihre auswählen CloudFront Viewer-Protokollrichtlinien und die für WebSocket Verbindungen und auch für HTTP-Verkehr Protokoll (nur benutzerdefinierte Ursprünge) gelten.
WebSocket Anforderungen
WebSocket Anfragen müssen RFC 6455
Beispiel Beispiel-Client-Anforderung
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 Beispiel-Server-Antwort
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 Netzwerkstörung unterbrochen wird, wird erwartet, dass Client-Anwendungen die Verbindung mit dem Server erneut herstellen.
Empfohlene Header WebSocket
Um unerwartete Probleme im Zusammenhang mit der Komprimierung bei der Verwendung zu vermeiden, empfehlen wir WebSockets, die folgenden Header in eine Origin-Request-Richtlinie aufzunehmen: Erstellen von Ursprungsanforderungsrichtlinien
-
Sec-WebSocket-Key -
Sec-WebSocket-Version -
Sec-WebSocket-Protocol -
Sec-WebSocket-Accept -
Sec-WebSocket-Extensions
Anmerkung
Unterstützt derzeit CloudFront nur WebSocket Verbindungen über das Protokoll. HTTP/1.1