Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan WebSockets dengan CloudFront distribusi
Amazon CloudFront mendukung penggunaan WebSocket, protokol TCP berbasis yang berguna ketika Anda membutuhkan koneksi dua arah yang berumur panjang antara klien dan server. Koneksi yang persisten sering kali merupakan persyaratan dengan aplikasi waktu nyata. Skenario yang mungkin Anda gunakan WebSockets termasuk platform obrolan sosial, ruang kerja kolaborasi online, game multi-pemain, dan layanan yang menyediakan umpan data real-time seperti platform perdagangan keuangan. Data melalui WebSocket koneksi dapat mengalir di kedua arah untuk komunikasi dupleks penuh.
WebSocket fungsionalitas secara otomatis diaktifkan untuk bekerja dengan distribusi apa pun. Untuk menggunakan WebSockets, konfigurasikan salah satu dari berikut ini dalam perilaku cache yang dilampirkan ke distribusi Anda:
Teruskan semua header permintaan penampil ke asal Anda. (Anda dapat menggunakan kebijakan permintaan asal AllViewer terkelola.)
Teruskan header
Sec-WebSocket-Key
danSec-WebSocket-Version
minta secara khusus dalam kebijakan permintaan asal Anda.
Bagaimana WebSocket protokol bekerja
WebSocket Protokol ini adalah protokol TCP berbasis independen yang memungkinkan Anda menghindari beberapa overhead—dan berpotensi meningkatkan latensi—dari. HTTP
Untuk membuat WebSocket koneksi, klien mengirimkan HTTP permintaan reguler yang menggunakan HTTP semantik upgrade untuk mengubah protokol. Server kemudian dapat menyelesaikan proses. WebSocket Koneksi tetap terbuka dan klien atau server dapat mengirim bingkai data satu sama lain tanpa harus membuat koneksi baru setiap kali.
Secara default, WebSocket protokol menggunakan port 80 untuk WebSocket koneksi reguler dan port 443 untuk WebSocket koneksi melaluiTLS/SSL. Opsi yang Anda pilih untuk Anda CloudFront Kebijakan protokol penampil dan Protokol (hanya asal kustom) berlaku untuk WebSocket koneksi serta HTTP lalu lintas.
WebSocketpersyaratan
WebSocket permintaan harus mematuhi RFC6455
Contoh permintaan klien:
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
Contoh respons server:
HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo= Sec-WebSocket-Protocol: chat
Jika WebSocket koneksi terputus oleh klien atau server, atau oleh gangguan jaringan, aplikasi klien diharapkan untuk memulai kembali koneksi dengan server.
WebSocket Header yang direkomendasikan
Untuk menghindari masalah terkait kompresi yang tidak terduga saat menggunakan WebSockets, sebaiknya sertakan header berikut dalam kebijakan permintaan asal:
-
Sec-WebSocket-Key
-
Sec-WebSocket-Version
-
Sec-WebSocket-Protocol
-
Sec-WebSocket-Accept
-
Sec-WebSocket-Extensions