TGStat
TGStat
Qidiruv uchun matnni kiriting
Ilg‘or kanal qidiruvi
  • flag Uzbek
    Sayt tili
    flag Russian flag English flag Uzbek
  • Saytga kirish
  • Katalog
    Kanal va guruhlar katalogi Hududiy to‘plamlar Tematik to‘plamlar Платные каналы Kanallar qidiruvi
    Kanal/guruh qo‘shish
  • Reytinglar
    Kanallar reytingi Guruhlar reytingi Postlar reytingi
    Brendlar va shaxslar reytingi
  • Analitika
  • Postlarda qidiruv
  • Telegram'ni kuzatish
  • Targ‘ibot
    Yandex Business orqali reklama TGStat Agency orqali kanallarda reklama TGStat.ru saytida reklama
Системный Аналитик

1 Sep 2023, 13:05

Telegram'da ochish Ulashish Shikoyat qilish

WebSocket: что это, когда следует использовать и какие преимущества дает

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

В HTTP каждый новый запрос устанавливает новое соединение с сервером: сколько запросов, столько и соединений. Процесс передачи данных происходит с некоторыми задержками за счет того, что есть накладные расходы на установку нового соединения при каждом запросе/ответе, а также сетевая и серверная нагрузка из-за обилия периодических запросов.

Механизм работы WebSocket

Физически WebSocket представляет собой протокол поверх TCP-соединения, как и HTTP (см. модель OSI).

1️⃣ Для установления соединения веб-сокет применяет метод открывающего рукопожатия. Он заключается в том, что клиент предваряет отправку/получение сообщений предварительным запросом, в котором клиент и сервер «договариваются» использовать веб-сокеты. Запрос отправляется на ws: или wss:: URI (аналог http или https).

2️⃣ Если сервер устанавливает соединение WebSocket, то сервер отправляет ответ об успешном рукопожатии. На это указывает HTTP-код 101 Switching Protocols.

3️⃣ После установления соединения протокол переключается с HTTP на WebSocket. Под капотом у нас остаётся TCP, который является двунаправленным протоколом. Веб-сокеты могут отправлять любые данные, даже очень большие, например, изображения. Для этого данные разбиваются на части, называемые фреймами. Каждый фрейм имеет заголовок, в котором указана информация о данных, такая как их размер и тип. Также заголовок содержит флаг, который показывает, является ли фрейм последним или нет.

4️⃣ Сервер может открывать несколько соединений WebSocket с несколькими клиентами или даже с одним и тем же клиентом. При этом сервер может отправить сообщение одному, нескольким или всем этим клиентам сразу.

5️⃣ Соединение, установленное с помощью WebSocket, сохраняется до тех пор, пока его не прервет любой из участников. Если одна сторона разрывает соединение, то другая не сможет продолжить коммуникацию, поскольку соединение автоматически разрывается для обоих участников.


✅ Когда использовать WebSocket

WebSocket подходит, когда нужны обновления данных в реальном времени и возможность доставлять сообщения клиенту без постоянных запросов (например, фондовые биржи, игровые приложения, чаты, IoT).


❌ Когда не стоит использовать WebSocket

1. Когда нужно получить неизменные данные, которые извлекаются только один раз, чтобы обработать их приложением, лучше использовать протокол HTTP, а не WebSocket.

2. Когда не нужно сохранять соединение в течение определенного времени или повторно использовать одно соединение для передачи данных. Например, ситуации, когда сервер должен отдать все данные для формы одним ответом.

📎 Материалы по теме
1. RFC 6455 - The WebSocket Protocol
2. WebSocket: что это, когда следует использовать и какие преимущества дает
3. Что такое веб-сокеты и как они вообще работают
4. WebSocket: смотрим как работает за кулисами
5. Асинхронный веб, или Что такое веб-сокеты

#интеграции

1.5k 0 24 15
Katalog
Kanal va guruhlar katalogi Kanallar to‘plamlari Kanallar qidiruvi Kanal/guruh qo‘shish
Reytinglar
Telegram-kanallar reytingi Telegram-guruhlar reytingi Postlar reytingi Brendlar va shaxslar reytingi
API
Statistika API'si Postlar qidiruvi API'si API Callback
Kanallarimiz
@TGStat @TGStat_Chat @telepulse @TGStatAPI
O‘qish
Академия TGStat Telegram tadqiqoti 2019 Telegram tadqiqoti 2021 Telegram tadqiqoti 2023
Kontaktlar
Справочный центр Qo‘llab-quvvatlash Email Vakansiyalar
Har xil narsalar
Foydalanuvchi shartnomasi Maxfiylik siyosati Ommaviy oferta
Botlarimiz
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot