Fondamentaux du protocole WebSocket
Plongez dans le protocole WebSocket sous-jacent, notamment la négociation initiale, les trames et le cycle de vie de la connexion.
Fondamentaux du protocole WebSocket est une leçon WebSockets & Real-Time Systems with Spring gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage WebSockets & Real-Time Systems with Spring, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours WebSockets & Real-Time Systems with Spring comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Beyond HTTP: The WebSocket Protocol
WebSockets feel like HTTP but are a distinct protocol. They open a persistent, full-duplex link so data flows both ways at once after setup.
Starting with a Handshake
Every WebSocket starts with a handshake: the client sends a normal HTTP request asking the server to upgrade the connection to WebSocket.
Client's Upgrade Request
The client's upgrade request is an HTTP GET with key headers: Upgrade: websocket, Connection: Upgrade, plus Sec-WebSocket-Key and Version.
Server's Acknowledgment
If the server accepts, it replies with 101 Switching Protocols and a Sec-WebSocket-Accept header derived from the client's key, confirming the upgrade.
Witnessing the Handshake
Watch the handshake yourself: run this in your console, open the Network tab, and look for the 101 Switching Protocols response.
/*
Open your browser's developer console (F12),
go to the 'Network' tab, then paste and run this code.
Look for a '101 Switching Protocols' response!
*/
let ws = new WebSocket("wss://echo.websocket.org");
ws.onopen = (event) => {
console.log("WebSocket connection opened!");
};
ws.onclose = (event) => {
console.log("WebSocket connection closed!");
};
ws.onerror = (error) => {
console.error("WebSocket error:", error);
};
// We'll send messages in later lessons!Connection Established: Full-Duplex
After the handshake, the connection upgrades to a raw TCP link that is full-duplex: client and server send and receive independently, anytime.
How Messages are Sent: Frames
WebSocket data travels in small units called frames. Framing lets large messages fragment efficiently and supports different control message types.
Different Types of Frames
WebSocket frame types each have a job: text for strings like JSON, binary for raw data, ping/pong for heartbeats, and close to end the connection.
The Connection Journey: Lifecycle
A WebSocket follows a clear lifecycle: opening (handshake), open (exchanging frames), closing (graceful shutdown), and closed.
Quick Check: WebSocket Fundamentals
Which of the following are true about a WebSocket connection after a successful handshake?
Recap: WebSocket Protocol Essentials
You demystified the WebSocket protocol: an HTTP handshake upgrades to a persistent full-duplex channel, data moves in frames, and connections follow a lifecycle. Next: comparisons.
Questions Fréquemment Posées
La leçon « Fondamentaux du protocole WebSocket » est-elle gratuite ?
Oui — le texte complet de « Fondamentaux du protocole WebSocket » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours WebSockets & Real-Time Systems with Spring, passe à CoddyKit PRO. Le cours WebSockets & Real-Time Systems with Spring comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Fondamentaux du protocole WebSocket » ?
Plongez dans le protocole WebSocket sous-jacent, notamment la négociation initiale, les trames et le cycle de vie de la connexion. Tu pratiques WebSockets & Real-Time Systems with Spring avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer WebSockets & Real-Time Systems with Spring ?
Aucune expérience préalable n'est requise. WebSockets & Real-Time Systems with Spring sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Fondamentaux du protocole WebSocket » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon WebSockets & Real-Time Systems with Spring ?
Oui. Chaque leçon WebSockets & Real-Time Systems with Spring inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Comprendre la communication en temps réel
- WebSockets ou interrogation HTTP
- Fondamentaux du protocole WebSocket
- Server-Sent Events ou WebSockets