Skip to main content

Що таке WebSocket?

WebSocket - це протокол прикладного рівня, який забезпечує постійне двостороннє з'єднання між клієнтом і сервером.

Простіше кажучи: WebSocket дозволяє клієнту і серверу «розмовляти» в режимі реального часу.


Навіщо потрібен WebSocket

Звичайний HTTP працює так:

  • клієнт надіслав запит
  • сервер відповів
  • з'єднання завершилося

Це незручно, якщо потрібно:

  • миттєво отримувати оновлення
  • постійно обмінюватися повідомленнями
  • не чекати нового запиту від клієнта

WebSocket вирішує цю проблему.


Головна ідея WebSocket

З'єднання встановлюється один раз і залишається відкритим.

Після цього:

  • клієнт може надсилати дані серверу в будь-який момент
  • сервер може надсилати дані клієнту без запиту

Це називається двостороннє (full-duplex) з'єднання.


Як працює WebSocket (спрощено)

  1. Клієнт підключається до сервера по HTTP
  2. Відбувається «upgrade» - перехід з HTTP на WebSocket
  3. Встановлюється постійне з'єднання
  4. Клієнт і сервер вільно обмінюються повідомленнями

Без постійних запитів і очікувань.


Де використовується WebSocket

Типові приклади:

  • онлайн-чати
  • месенджери
  • біржові котирування
  • онлайн-ігри
  • сповіщення в реальному часі
  • спільні редактори (Google Docs і аналоги)

Скрізь, де важлива мінімальна затримка.


WebSocket vs HTTP (коротко)

  • HTTP
    • запит → відповідь
    • немає постійного з'єднання
    • сервер сам не ініціює надсилання даних
  • WebSocket
    • постійне з'єднання
    • сервер може сам надсилати дані
    • підходить для real-time

Приклад із життя

HTTP - це як листування електронною поштою: написав → почекав → отримав відповідь.

WebSocket - це як телефонна розмова або чат: можна говорити в будь-який момент і одразу отримувати відповідь.


Коротка відповідь для співбесіди

Запам'ятай це формулювання:

WebSocket - це протокол прикладного рівня, який встановлює постійне двостороннє з'єднання між клієнтом і сервером і використовується для обміну даними в режимі реального часу.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.