Почему появляется сообщение о статусе HTTP, когда уже есть код статуса HTTP? - PullRequest
0 голосов
/ 14 апреля 2019

HTTP-ответ может выглядеть следующим образом:

HTTP/1.1 200 OK

Я думаю, 200 уже говорит клиенту, что все в порядке, и OK в ответ может быть опущено. Так какой же существует подход?

Ответы [ 2 ]

1 голос
/ 17 апреля 2019

Такое сообщение называется фраза причины и, как упоминалось в ответ Джулиана Решке , оно просто предоставляет текстовое описание, связанное с числовым кодом состояния, и оно должно игнорироваться клиентом , Фраза причины может быть даже пустой.

Хотя ваш вопрос касается протокола HTTP / 1.1, я хотел бы подчеркнуть, что ответы HTTP / 2 не содержат никакой фразы причины. Они несут только код состояния, как определено в RFC 7540 :

Для ответов HTTP / 2 определяется одно поле псевдозаголовка :status, которое содержит поле кода состояния HTTP. Это поле псевдозаголовка ДОЛЖНО быть включено во все ответы; в противном случае ответ искажен.

HTTP / 2 не определяет способ переноса версии или фразы причины, включенной в строку состояния HTTP / 1.1.

1 голос
/ 14 апреля 2019

С https://greenbytes.de/tech/webdav/rfc7230.html#rfc.section.3.1.2:

Элемент Причина-Фраза существует с единственной целью предоставления текстового описания, связанного с числовым кодом состояния, в основном из уважения к более ранним протоколам интернет-приложений, которые чаще использовались с интерактивными текстовыми клиентами. Клиент ДОЛЖЕН игнорировать содержимое фразы-причины.

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