Skip to content

Latest commit

 

History

History
34 lines (24 loc) · 2.79 KB

File metadata and controls

34 lines (24 loc) · 2.79 KB

В чём различия между Long-Polling, Websockets и Server-Sent Events?

Ajax Long-Polling

  1. Клиент запрашивает веб-страницу с сервера, используя обычный HTTP.
  2. Клиент получает запрошенную веб-страницу и выполняет JavaScript на странице, которая запрашивает файл с сервера.
  3. Сервер не сразу отвечает запрошенной информацией, а ждёт, пока не появится новая информация.
  4. Когда появляется новая информация, сервер отвечает новой информацией.
  5. Клиент получает новую информацию и немедленно отправляет другой запрос на сервер, перезапуская процесс.

HTML Websockets

  1. Клиент запрашивает веб-страницу с сервера, используя обычный HTTP.
  2. Клиент получает запрошенную веб-страницу и выполняет JavaScript на странице, которая открывает соединение с сервером.
  3. Сервер и клиент теперь могут отправлять друг другу сообщения, когда доступны новые данные (с обеих сторон).
  • Трафик в реальном времени от сервера к клиенту и от клиента к серверу.
  • С помощью WebSocket можно подключиться к серверу из другого домена.
  • Также можно использовать сторонний сервер веб-сокетов. Таким образом, вам нужно будет реализовать только клиентскую часть.

Server-Sent Events

  1. Клиент запрашивает веб-страницу с сервера, используя обычный HTTP.
  2. Клиент получает запрошенную веб-страницу и выполняет JavaScript на странице, которая открывает соединение сервером.
  3. Сервер отправляет событие клиенту, когда появляется новая информация.
  • Трафик в реальном времени от сервера к клиенту.
  • Соединения с серверами из других доменов возможны только при правильных настройках CORS.