101

Switching Protocols

Официальный сайт
Протокол передачи изменяется по запросу клиента

Общее объяснение кода состояния 101

Представьте себе, что вы находитесь в ресторане и хотите заказать напиток. К вам подходит официант и спрашивает ваш заказ. Вы говорите: "Я бы хотел стакан воды, но если у вас есть свежий апельсиновый сок, я бы предпочел его". По сути, вы предоставляете официанту два варианта и даете ему понять, что вы гибкий человек. Аналогично работает и просьба о смене протокола.

Когда веб-браузер или другой клиентский инструмент посылает запрос на сервер, клиент может предложить перейти на другой протокол связи, поскольку считает, что этот другой протокол будет более эффективным или лучше подходит. Например, клиент, изначально использующий HTTP-соединение, может предложить перейти на WebSockets, чтобы обеспечить постоянно открытое соединение для передачи данных в реальном времени.

Когда сервер принимает это предложение, он отвечает кодом состояния 101 Switching Protocols, сообщая клиенту: "Хорошо! Давайте поменяемся протоколами". С этого момента взаимодействие между клиентом и сервером продолжается по новому, согласованному протоколу.

Сервер принимает это предложение.

Спецификация кода состояния HTTP 101

Код состояния 101 Switching Protocols указывает на то, что сервер понимает и готов выполнить запрос клиента, переданный через поле заголовка Upgrade, о смене протокола приложения, используемого в данном соединении. Сервер ДОЛЖЕН генерировать поле заголовка Upgrade в ответе, указывающее, на какой протокол (протоколы) будет осуществлен переход, сразу после пустой строки, завершающей ответ 101 Switching Protocols. Предполагается, что сервер согласится на переключение протоколов только тогда, когда это будет выгодно. Например, переход на более новую версию HTTP может быть выгоден по сравнению со старыми версиями, а переход на синхронный протокол реального времени может быть выгоден при доставке ресурсов, использующих такие возможности.

Источник / Цитаты из: Код состояния HTTP 101 Switching Protocols определен разделом 6.2.2 из RFC7231.

Как вывести код состояния 101 с помощью PHP?

Чтобы бросить на веб-страницу код статуса HTTP 101, можно использовать PHP-функцию http_response_code. Синтаксис выглядит следующим образом: http_response_code(101) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Проверка кода состояния 101 HTTP

Чтобы иметь возможность отображать код состояния HTTP (в данном случае 101 Switching Protocols) и другую информацию на стороне клиента, необходимо открыть консоль разработки с помощью F12. Затем перейдите на вкладку "Сеть". Теперь можно открыть страницу, сайт (пример index.php) должен быть виден на вкладке "Сеть". Его необходимо выбрать, а затем выбрать раздел Herder. После этого пользователь увидит следующий результат:

Код состояния 101 Switching Protocols
Обзор
URL: https://http-statuscode.com/errorCodeExample.php?code=101
Статус: 101 Switching Protocols
Эти: Network
IP-адрес: XX.XX.XX.XX
Код состояния 101 Switching Protocols

Совместимость кода состояния 101 с браузерами

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Константы в языках программирования

HttpStatusCode.SwitchingProtocols
http.StatusSwitchingProtocols
Response::HTTP_SWITCHING_PROTOCOLS
httplib.SWITCHING_PROTOCOLS
http.client.SWITCHING_PROTOCOLS
http.HTTPStatus.SWITCHING_PROTOCOLS
:switching_protocols
HttpServletResponse.SC_SWITCHING_PROTOCOLS 

Внешние ссылки с дополнительной информацией о коде состояния HTTP 101:

Развлекательные мемы о коде статуса HTTP 101

Автор: Tony Brüser
Автор: Tony Brüser

Тони Брюсер - увлеченный веб-разработчик, склонный к изучению кодов состояния HTTP.

LinkedInGitHub