Не упусти!

Круто, что тебе интересны наши курсы!

И именно за твой интерес и желание развиваться мы дарим тебе скидку!

Заполни данные ниже и на почту прийдет письмо с промокодом для тебя со скидкой на любой курс!

Отлично!

Ваш промокод на скидку отправлен на Ваш E-mail. Проверте пожалуйста Вашу почту.

Проверьте все папки в вашем почтовом ящике (спам, промоакции).

Что такое веб-сокеты?

Что такое веб-сокеты?

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

Как работает HTTP?

Схема обмена сообщениями по HTTP


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

Вы также можете знать, что HTTP позволяет использовать разные типы запросов, такие как POST, GET или PUT, каждый из которых имеет своё назначение.

Как работают веб-сокеты?

Схема обмена сообщениями при использовании веб-сокетов


Веб-сокетам же для ответа не нужны ваши повторяющиеся запросы. Достаточно выполнить один запрос и ждать отклика. Вы можете просто слушать сервер, который будет отправлять вам сообщения по мере готовности.

Веб-сокеты можно использовать, если вы разрабатываете:

  • приложения реального времени;
  • чат-при
  • IoT-приложения;
  • многопользовательские игры.

Когда следует избегать использования веб-сокетов?

Практически никогда. Единственный минус — это несовместимость с некоторыми браузерами, но уже 95 % браузеров поддерживают веб-сокеты.

В некоторых случаях веб-сокеты вам всё же не понадобятся. Если вы создаёте простую CMS, вам вряд ли пригодится функциональность в режиме реального времени. Также не стоит использовать веб-сокеты в REST API, поскольку вам хватит таких HTTP-запросов, как GET, POST, DELETE и PUT.


Практические примеры
В примерах ниже для клиента используется JavaScript, а для сервера — Node.js. Примеры очень просты и вряд ли пригодятся на практике, но зато позволят разобраться в сути.


Веб-сокеты


Клиент:


Сервер:

Вот иллюстрация работы веб-сокетов:

Демонстрация работы веб-сокетов

 


Эквивалент в HTTP
Так как HTTP должен постоянно проверять канал на наличие новых сообщений, можно использовать «грязную» проверку (dirty check) — подход, при котором клиент с заданной периодичностью (допустим, каждые 200 мс) проверяет наличие новых сообщений на сервере.


Чтобы не вникать в XMLHttpRequest, можно использовать библиотеку Axios. Она декларативна и очень понятна.

Клиент:


Сервер:

 

рекомендуемые статьи

Все, что вам нужно знать, чтобы стать моушн дизайнером Все, что вам нужно знать, чтобы стать моушн дизайнером...
Руководство для новичка
Советы по графическому дизайну, по контенту Instagram Советы по графическому дизайну, по контенту Instagram...
Графический дизайн должен быть выдающимся, чтобы привлекать максимальное внимание и выделять ваш бренд и бизнес из общей массы....
Soft Skills Дизайнера Soft Skills Дизайнера
Чтобы стать профессионалом в творческой индустрии, вам необходимо иметь несколько вещей.
5 вещей, с которыми дизайнеры не столкнутся сегодня 5 вещей, с которыми дизайнеры не столкнутся сегодня...
Насколько мир дизайна отличается от прежнего
6 главных тенденций дизайна интерьера в 2021 году 6 главных тенденций дизайна интерьера в 2021 году...
Все, что нужно знать о дизайне интерьера в этом году
50 блогов для вдохновения графическим дизайном 50 блогов для вдохновения графическим дизайном...
Вы хотите отдохнуть от своей работы, получить вдохновение и новое чувство перспективы. Но, по правде говоря, вы, вероятно, в конечном итоге прокрутите Instagram и потратите свое время, глядя на дома, людей и милых кошек....