Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Usare WebSockets con le CloudFront distribuzioni
Amazon CloudFront supporta l'utilizzo di WebSocket, un TCP-based protocollo utile quando sono necessarie connessioni bidirezionali di lunga durata tra client e server. Una connessione permanente è spesso un requisito con applicazioni in tempo reale. Gli scenari in cui potresti utilizzare WebSockets includono piattaforme di social chat, spazi di lavoro di collaborazione online, giochi multigiocatore e servizi che forniscono feed di dati in tempo reale come le piattaforme di trading finanziario. I dati su una WebSocket connessione possono fluire in entrambe le direzioni per una comunicazione full-duplex.
WebSocket la funzionalità è abilitata automaticamente per funzionare con qualsiasi distribuzione. Per WebSockets utilizzarla, configura una delle seguenti opzioni nel comportamento della cache associato alla tua distribuzione:
-
Inoltra tutte le intestazioni di richiesta visualizzatore all’origine. Puoi utilizzare la politica di richiesta di origine AllViewer gestita.
-
Inoltra specificatamente le intestazioni di richiesta
Sec-WebSocket-KeyeSec-WebSocket-Versionnella policy di richiesta origine.
Come funziona il WebSocket protocollo
Il WebSocket protocollo è un TCP-based protocollo indipendente che consente di evitare parte del sovraccarico e potenzialmente un aumento della latenza dell'HTTP.
Per stabilire una WebSocket connessione, il client invia una normale richiesta HTTP che utilizza la semantica di aggiornamento di HTTP per modificare il protocollo. Il server può quindi completare l'handshake. La WebSocket connessione rimane aperta e il client o il server possono scambiarsi frame di dati senza dover stabilire nuove connessioni ogni volta.
Per impostazione predefinita, il WebSocket protocollo utilizza la porta 80 per WebSocket le connessioni regolari e la porta 443 per WebSocket le connessioni tramite TLS. Le opzioni che scegli per te Protocollo (solo origini personalizzate) si applicano alle WebSocket connessioni CloudFront Viewer Protocol Policy (Policy protocollo visualizzatore) e anche al traffico HTTP.
WebSocket requisiti
WebSocket le richieste devono essere conformi alla RFC 6455
Esempio Esempio di richiesta client
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
Esempio Esempio di risposta del server
HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo= Sec-WebSocket-Protocol: chat
Se la WebSocket connessione viene disconnessa dal client o dal server o da un'interruzione della rete, ci si aspetta che le applicazioni client riavviino la connessione con il server.
Intestazioni consigliate WebSocket
Per evitare problemi imprevisti legati alla compressione durante l'utilizzo WebSockets, ti consigliamo di includere le seguenti intestazioni in una policy di richiesta di origine:
-
Sec-WebSocket-Key -
Sec-WebSocket-Version -
Sec-WebSocket-Protocol -
Sec-WebSocket-Accept -
Sec-WebSocket-Extensions
Nota
Attualmente, supporta CloudFront solo WebSocket le connessioni tramite il protocollo. HTTP/1.1