JavaScript WebSocket: опис, принцип роботи, застосування

Функціональні можливості

WebSocket являє собою серйозне оновлення в історії веб-комунікацій. До його існування всі комунікації між веб-клієнтами і серверами ґрунтувалися тільки на HTTP. Web Socket допомагає в динамічному потоці сполук, які є постійними полнодуплексными. Повний дуплекс відноситься до зв’язку з обох кінців зі значною швидкістю. Це називається зміною гри з-за його ефективного подолання всіх недоліків існуючих протоколів.

Важливість WS для розробників і архітекторів:

  • Незалежний протокол на основі TCP, призначений для підтримки будь-якого іншого протоколу, який традиційно працює тільки поверх чистого TCP-з’єднання.
  • Транспортний рівень, поверх якого може працювати будь-який інший протокол.
  • Websocket API підтримує можливість визначення субпротоколов — бібліотек протоколів, які можуть інтерпретувати певні їх типи. Приклади таких протоколів включають XMPP, STOMP і AMQP. Розробникам більше не потрібно думати над типом з’єднання з точки зору парадигми HTTP «запит-відповідь».

    Єдина вимога на стороні браузера — це запуск бібліотеки JavaScript, яка може інтерпретувати рукостискання WS, встановлювати і підтримувати з’єднання. На стороні сервера промисловим стандартом є використання існуючих бібліотек протоколів, які працюють поверх TCP і використовують шлюз.

    Функціональні можливості веб-сокетів:

  • З’єднання через WebSocket ініціюються через HTTP.
  • HTTP-сервери зазвичай інтерпретують рукостискання WS як запит на оновлення.
  • Веб-сокети можуть бути доповненням до існуючої середовищі HTTP та можуть надати необхідну інфраструктуру для додавання веб-функціональності. Вони спираються на більш досконалі полнодуплексные протоколи, які дозволяють передавати дані в обох напрямках між клієнтом client JavaScript WebSocket і сервером.