101 протокол переключения - PullRequest
0 голосов
/ 09 апреля 2020

Я читаю статус http покоя и наткнулся на этот 101 код состояния. Может кто-нибудь сказать мне, что такое протоколы коммутации и в этом случае сервер должен ответить с кодом 101 http. Заранее спасибо.

1 Ответ

0 голосов
/ 09 апреля 2020

Этот код ответа возвращается, если предыдущий запрос содержал запрос на обновление используемого в настоящее время соединения до другого протокола с использованием Connection: upgrade и Upgrade заголовка , который определяет один или несколько другие протоколы для изменения на.

Эта функция полезна, если вы еще не уверены, поддерживает ли сервер HTTP / 2, и вы сначала подключаетесь к нему через HTTP / 1.1, а также после того, как узнали, что он также поддерживает HTTP / 2 переключитесь на этот протокол при запросе сервера обновить текущее соединение до HTTP / 2. Сервер может объявить о поддержке других протоколов, добавив к своим ответам заголовок Upgrade с поддерживаемыми протоколами.

Как указано в RF C, клиент выдаст запрос, такой как:

GET /some/resource HTTP/1.1
Host: www.acme.com
Connection: upgrade
Upgrade: HTTP/2.0

Если сервер поддерживает HTTP / 2, он, вероятно, ответит ответом, таким как

HTTP/1.1 101 Switching Protocols
Connection: upgrade
Upgrade: HTTP/2.0

, чтобы указать, что соединение было успешно обновлено до HTTP / 2, и любой дальнейший обмен данными по этому соединению должен следовать протоколу HTTP / 2.

Обратите внимание, однако, что сервер не вынужден переключать протоколы. Он также может полностью игнорировать такой запрос, если предпочитает общаться по старому протоколу. В то время как список предлагаемых протоколов должен быть выражен в порядке предпочтения, в первую очередь с наиболее предпочтительным протоколом, серверу также разрешается игнорировать любой порядок предпочтений и выбирать один из предложенных протоколов самостоятельно. Однако серверу не разрешено переключаться на любой другой протокол, не указанный клиентом, поскольку клиент может не поддерживать этот тип протокола и, таким образом, препятствовать дальнейшему обмену данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...