WebSocket: смотрим как работает за кулисами

Сегодня поговорим о том как работает WS, напишем простенький клиент на JS, обсудим как дебажить данный протокол ну и просто обсудим несколько интересных фактов. Погнали😈

1515

Опишу эволюцию веба чуть другими словами, вдруг кому полезно будет.

Во времена супер медленного (по текущим меркам) интернета — страницы грузились целиком.

AJAX — пришёл с развитием JavaScript, лет 15 назад(а может уже и больше), когда появилась идея и возможность обновлять не всю страницу, а только её часть, для экономии трафика. Это все те же запросы по HTTP, через JavaScript. Браузер стучал на сервер, получал какие-то данные и подставлял в нужное место страницы. Формат данных был определен достаточный: текст, XML, JSON. Как видим спустя десяток лет — JSON прижился лучше.

WebSocket — пришёл для решения более сложных задач, когда не только клиент(браузер, например) хочет постучаться на сервер за новыми данными, но и когда сервер может постучаться в браузер и сообщить клиенту о какой-то новой информации: чаты, интерактивные графики, получение новой почты итд.

1