echo.websocket.org
предоставляет сервер webSocket, который позволяет вам подключиться к нему через webSocket, а затем просто возвращает вам все, что вы отправляете. Это в основном для тестирования и демонстрационных целей.
Код, который вы показываете, выглядит как демонстрационное / тестовое приложение, предназначенное для запуска на веб-странице браузера для подключения к webSocket, доступ к которому можно получить здесь: https://websocket.org/echo.html.
URL-адрес, начинающийся с ws://
, указывает на соединение, которое намеревается использовать протокол webSocket.
Что делает этот код:
var socket = new WebSocket('ws://echo.websocket.org');
Он устанавливает соединение webSocket с сервером webSocket в echo.websocket.org
.
Что это за URL?
Это URL-адрес webSocket, который указывает на намерение использовать протокол webSocket для подключения и связи с этим хостом. Это не то, что вы вводите в адресной строке браузера. Это то, что используется языком программирования (например, Javascript в вашем браузере).
Является ли Websocket внешним API?
Это протокол, который определяет средства подключения, схему безопасности, формат пакетных данных и т. Д. ... Можно сказать, что протокол http относится к протоколу webSocket, а английский - к японскому. Это разные способы общения. Спецификация для протокола webSocket находится здесь: https://tools.ietf.org/html/rfc6455.
Он также предназначен для того, чтобы хорошо вписаться в мир http / browser и дружить с инфраструктурой, которая изначально была разработана для http-запросов. Просто поиск «что такое websocket» в Google вызовет все виды описательных статей. Страница Википедии для webSocket предоставляет довольно хороший обзор.
В Интернете написано множество слов о том, что такое протокол webSocket и для чего он полезен, поэтому я не буду повторять это здесь. Вы можете ознакомиться с руководством по клиентам webSocket здесь и руководством по серверам webSocket здесь .
В двух словах, оно разработано как долговременное непрерывное соединение (поддерживаемое во всех современных браузерах), которое позволяет клиенту подключаться к серверу, а затем поддерживать непрерывное соединение (потенциально) в течение длительного времени. Пока это соединение открыто, данные могут быть легко отправлены в обе стороны через webSocket. Основная причина, по которой люди его используют, это то, что они хотят, чтобы сервер мог своевременно отправлять данные непосредственно клиенту, не заставляя клиента постоянно спрашивать сервер снова и снова, есть ли у него какие-либо новые данные. Как только соединение webSocket установлено, сервер может в любое время просто «передать» данные клиенту.
Я смотрю на вкладку сети и вижу это. Концептуально, что происходит?
URL запроса: ws: //echo.websocket.org/
Метод запроса: ПОЛУЧИТЬ код состояния:
101 Web Socket Protocol Handshake
Это первые шаги для установления соединения webSocket. Вы можете увидеть более полное описание того, как работает это соединение, здесь: Как работает socket.io . В этом посте рассказывается о socket.io, который является еще одним слоем, построенным поверх webSocket, но основным протоколом является webSocket.
Зачем мне отправлять запрос на внешний сайт для использования Websockets?
Цель webSocket - подключить клиента к серверу (чтобы затем между ними можно было передавать данные), чтобы он использовался только при подключении к какому-либо серверу.