Sobes.tech
Back to questions
Junior — Middle
85

Можете объяснить, что такое веб-сокеты и как они работают в контексте веб-разработки?

Answer from AI

sobes.tech AI

Веб-сокеты — это протокол, который обеспечивает двунаправленное постоянное соединение между клиентом (например, браузером) и сервером. В отличие от классического HTTP, где клиент отправляет запрос и получает ответ, веб-сокеты позволяют серверу отправлять данные клиенту в любое время без повторных запросов.

Работают они так:

  1. Клиент инициирует соединение через HTTP с заголовком Upgrade: websocket.
  2. Если сервер поддерживает веб-сокеты, происходит «апгрейд» соединения с HTTP на веб-сокет.
  3. После установления соединения клиент и сервер могут обмениваться сообщениями в реальном времени.

Пример использования — чат, онлайн-игры, обновление данных на странице без перезагрузки.

Пример на JavaScript для подключения к веб-сокету:

const socket = new WebSocket('wss://example.com/socket');
socket.onopen = () => {
  console.log('Соединение установлено');
  socket.send('Привет сервер!');
};
socket.onmessage = event => {
  console.log('Получено сообщение:', event.data);
};