Що таке WebSocket?
WebSocket - це протокол прикладного рівня, який забезпечує постійне двостороннє з'єднання між клієнтом і сервером.
Простіше кажучи: WebSocket дозволяє клієнту і серверу «розмовляти» в режимі реального часу.
Навіщо потрібен WebSocket
Звичайний HTTP працює так:
- клієнт надіслав запит
- сервер відповів
- з'єднання завершилося
Це незручно, якщо потрібно:
- миттєво отримувати оновлення
- постійно обмінюватися повідомленнями
- не чекати нового запиту від клієнта
WebSocket вирішує цю проблему.
Головна ідея WebSocket
З'єднання встановлюється один раз і залишається відкритим.
Після цього:
- клієнт може надсилати дані серверу в будь-який момент
- сервер може надсилати дані клієнту без запиту
Це називається двостороннє (full-duplex) з'єднання.
Як працює WebSocket (спрощено)
- Клієнт підключається до сервера по HTTP
- Відбувається «upgrade» - перехід з HTTP на WebSocket
- Встановлюється постійне з'єднання
- Клієнт і сервер вільно обмінюються повідомленнями
Без постійних запитів і очікувань.
Де використовується WebSocket
Типові приклади:
- онлайн-чати
- месенджери
- біржові котирування
- онлайн-ігри
- сповіщення в реальному часі
- спільні редактори (Google Docs і аналоги)
Скрізь, де важлива мінімальна затримка.
WebSocket vs HTTP (коротко)
- HTTP
- запит → відповідь
- немає постійного з'єднання
- сервер сам не ініціює надсилання даних
- WebSocket
- постійне з'єднання
- сервер може сам надсилати дані
- підходить для real-time
Приклад із життя
HTTP - це як листування електронною поштою: написав → почекав → отримав відповідь.
WebSocket - це як телефонна розмова або чат: можна говорити в будь-який момент і одразу отримувати відповідь.
Коротка відповідь для співбесіди
Запам'ятай це формулювання:
WebSocket - це протокол прикладного рівня, який встановлює постійне двостороннє з'єднання між клієнтом і сервером і використовується для обміну даними в режимі реального часу.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.