Не упусти!

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

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

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

Отлично!

Ваш промокод на скидку отправлен на Ваш 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. Она декларативна и очень понятна.

Клиент:


Сервер:

 

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

Photoshop против Illustrator Photoshop против Illustrator
Если вы только начинаете работать дизайнером, выбор между Photoshop и Illustrator может оказаться непростой задачей. Ниже мы предоставим вам несколько фактов, чтобы решить, какой из этих продуктов Adobe больше подходит ...
Топ-10 комбинаций шрифтов 2021 Топ-10 комбинаций шрифтов 2021
Все еще не нашли то, что искали? Вот несколько комбинаций шрифтов, которые могут идеально подойти для вашего следующего дизайна....
Вдохновение без копирования: как создать свою собственную оригинальную работу Вдохновение без копирования: как создать свою собственную оригинальную работу...
«Вызовет ли произведение, которое я создаю, чувство оригинала у зрителя?»
Советы по графическому дизайну, по контенту Instagram Советы по графическому дизайну, по контенту Instagram...
Графический дизайн должен быть выдающимся, чтобы привлекать максимальное внимание и выделять ваш бренд и бизнес из общей массы....
5 вещей, с которыми дизайнеры не столкнутся сегодня 5 вещей, с которыми дизайнеры не столкнутся сегодня...
Насколько мир дизайна отличается от прежнего
6 главных тенденций дизайна интерьера в 2021 году 6 главных тенденций дизайна интерьера в 2021 году...
Все, что нужно знать о дизайне интерьера в этом году