Jak działa handshake WebSocket
Przeanalizują Państwo oparty na HTTP proces handshake, który przekształca standardowe połączenie HTTP w połączenie WebSocket.
Jak działa handshake WebSocket to bezpłatna lekcja WebSockets & Realtime Systems Programming na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej WebSockets & Realtime Systems Programming, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs WebSockets & Realtime Systems Programming zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Handshake: The Connection Upgrade
Imagine you're calling a friend, but instead of just talking, you first agree on a secret language. The WebSocket handshake is similar!
It's the crucial initial step where your browser (client) and a server agree to switch from a standard HTTP connection to a WebSocket connection.
Beyond HTTP's Limitations
Traditional HTTP is designed for short, one-off requests and responses. Think of loading a webpage – you ask, the server sends, and the connection closes.
- One-way: Client requests, server responds.
- Short-lived: Connection closes after each interaction.
- Overhead: Each new request needs to set up a new connection.
WebSockets need a persistent, two-way street for real-time data.
Client Initiates the Upgrade
The handshake begins with the client (your browser) sending a regular HTTP GET request to the server. But it's not truly "regular"!
This request includes special HTTP headers that signal the client's intention to "upgrade" to the WebSocket protocol. It's like adding a special note to your call asking to switch to the secret language.
Signaling the Intent to Switch
Two key headers clearly tell the server the client wants a WebSocket connection:
Upgrade: websocket: This header specifies the protocol the client wants to switch to.Connection: Upgrade: This header is a general HTTP header that indicates the client wishes to upgrade or switch protocols.
Together, they form the core of the upgrade request.
The Client's Secret Key
Another vital header from the client is Sec-WebSocket-Key.
- It's a 16-byte random value, encoded in Base64.
- It acts as a unique, unpredictable "nonce" (number used once) for each handshake.
- The server uses this key to prove it understands the WebSocket protocol and to prevent certain types of caching or proxy issues.
Protocol Version Check
The Sec-WebSocket-Version header is straightforward but important.
It tells the server which version of the WebSocket protocol the client is using. Currently, the standard version is 13.
This ensures both client and server speak the same "dialect" of the WebSocket language, guaranteeing compatibility.
Server Responds: 101 Switching Protocols
If the server supports WebSockets and agrees to the upgrade, it sends a special HTTP response back to the client.
The most important part of this response is the HTTP status code 101: Switching Protocols. This code explicitly means the server is changing protocols as requested by the client.
Server's Confirmation Key
The server's response also includes key headers:
Upgrade: websocketandConnection: Upgrade: Mirroring the client, these confirm the server's agreement to upgrade.Sec-WebSocket-Accept: This is a hash generated by the server using the client'sSec-WebSocket-Keyplus a specific "magic string". It proves the server understood the key and is capable of WebSockets.
Handshake Key Check
You've learned about the important headers involved in the WebSocket handshake.
Which of the following headers is sent by the client to initiate the WebSocket upgrade, and contains a random, unique value?
Connection Upgraded & Ready!
Once the client receives and validates the server's 101 response with the correct Sec-WebSocket-Accept header, the HTTP handshake is complete!
The connection is now upgraded to a full-duplex WebSocket. Both client and server can send and receive data simultaneously over this persistent connection, enabling true real-time communication.
Ucz się WebSockets & Realtime Systems Programming dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 12
- Lekcje
- 47
Często zadawane pytania
Czy lekcja „Jak działa handshake WebSocket” jest bezpłatna?
Tak — pełny tekst „Jak działa handshake WebSocket” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu WebSockets & Realtime Systems Programming, przejdź na CoddyKit PRO. Kurs WebSockets & Realtime Systems Programming zawiera 4 lekcji w sumie.
Co nauczysz się w „Jak działa handshake WebSocket”?
Przeanalizują Państwo oparty na HTTP proces handshake, który przekształca standardowe połączenie HTTP w połączenie WebSocket. Ćwiczysz WebSockets & Realtime Systems Programming z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć WebSockets & Realtime Systems Programming?
Nie wymagamy żadnego doświadczenia. WebSockets & Realtime Systems Programming w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Jak działa handshake WebSocket”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji WebSockets & Realtime Systems Programming?
Tak. Każda lekcja WebSockets & Realtime Systems Programming zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Jak działa handshake WebSocket
- Ramkowanie danych i komunikaty WebSocket
- Cykl życia i stany połączenia
- Podprotokoły, rozszerzenia i kompresja