101

Switching Protocols

Официален
Протоколът за предаване се променя по искане на клиента.

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

Представете си, че сте в ресторант и искате да си поръчате напитка. Сервитьорът се приближава до вас и ви пита за поръчката. Вие казвате: "Бих искал чаша вода, но ако имате пресен портокалов сок, бих предпочел него". Тук по същество давате на сервитьора две възможности и му съобщавате, че сте гъвкави. Искането за смяна на протокол работи по подобен начин.

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

Когато сървърът приеме това предложение, той отговаря с код на състоянието 101 Switching Protocols, за да каже на клиента: "Добре! Да превключим протоколите." От този момент нататък комуникацията между клиента и сървъра продължава чрез новия, договорен протокол.

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

Кодът на състоянието 101 Switching Protocols показва, че сървърът разбира и е готов да изпълни искането на клиента, отправено чрез полето Upgrade, за промяна на използвания приложен протокол в тази връзка. Сървърът ТРЯБВА да генерира заглавно поле Upgrade в отговора, което указва към кой(и) протокол(и) ще се премине веднага след празния ред, който завършва отговора 101 Switching Protocols. Предполага се, че сървърът ще се съгласи да превключи протоколите само когато това е изгодно. Например преминаването към по-нова версия на HTTP може да е изгодно в сравнение с по-старите версии, а преминаването към синхронен протокол в реално време може да е изгодно при предоставяне на ресурси, които използват такива функции.

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

Как да изхвърлим код на състоянието 101 с PHP?

За изхвърляне на HTTP статус код 101 на уеб страница може да се използва функцията http_response_code на PHP. Синтаксисът е следният: 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 
Автор: Tony Brüser
Автор: Tony Brüser

Тони Брусер е ентусиазиран уеб разработчик със склонност към HTTP кодовете за състояние.

LinkedInGitHub