

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
<a name="distribution-working-with.websockets"></a>

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 Viewer-Anforderungs-Header an Ihren Ursprung weiter. Sie können die [Richtlinie „AllViewer Managed Origin Request“](using-managed-origin-request-policies.md#managed-origin-request-policy-all-viewer) verwenden.
+ Leiten Sie die Anforderungs-Header `Sec-WebSocket-Key` und `Sec-WebSocket-Version` in Ihrer Ursprungsanforderungsrichtlinie ausdrücklich weiter.

## Wie funktioniert das WebSocket Protokoll
<a name="distribution-working-with.websockets.how-it-works"></a>

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. Die Optionen, die Sie für Ihre CloudFront [Viewer-Protokollrichtlinien](DownloadDistValuesCacheBehavior.md#DownloadDistValuesViewerProtocolPolicy) und wählen, [Protokoll (nur benutzerdefinierte Ursprünge)](DownloadDistValuesOrigin.md#DownloadDistValuesOriginProtocolPolicy) gelten für WebSocket Verbindungen und auch für HTTP-Verkehr.

## WebSocket-Voraussetzungen
<a name="distribution-working-with.websockets.requirements"></a>

WebSocket Anfragen müssen [RFC 6455](https://datatracker.ietf.org/doc/html/rfc6455) in den folgenden Standardformaten entsprechen.

**Example 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
```

**Example 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 Netzwerkunterbrechung unterbrochen wird, wird erwartet, dass die Client-Anwendungen die Verbindung mit dem Server wieder aufnehmen.

## Empfohlene Header WebSocket
<a name="distribution-working-with.websockets.recomended-settings"></a>

[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:](origin-request-create-origin-request-policy.md)
+ `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 HTTP/1.1-Protokoll.