Junior — Middle
Puteți explica ce sunt socket-urile web și cum funcționează în contextul dezvoltării web?
sobes.tech AI
Răspuns de la AI
Веб-сокеты — это протокол, который обеспечивает двунаправленное постоянное соединение между клиентом (например, браузером) и сервером. В отличие от классического HTTP, где клиент отправляет запрос и получает ответ, веб-сокеты позволяют серверу отправлять данные клиенту в любое время без повторных запросов.
Работают они так:
- Клиент инициирует соединение через HTTP с заголовком
Upgrade: websocket. - Если сервер поддерживает веб-сокеты, происходит «апгрейд» соединения с HTTP на веб-сокет.
- После установления соединения клиент и сервер могут обмениваться сообщениями в реальном времени.
Пример использования — чат, онлайн-игры, обновление данных на странице без перезагрузки.
Пример на JavaScript для подключения к веб-сокету:
const socket = new WebSocket('wss://example.com/socket');
socket.onopen = () => {
console.log('Соединение установлено');
socket.send('Привет сервер!');
};
socket.onmessage = event => {
console.log('Получено сообщение:', event.data);
};