Какой соответствующий код состояния HTTP для длины контента не соответствует фактической длине контента - PullRequest
1 голос
/ 09 июня 2011

Я знаю, что отсутствует заголовок длины содержимого 411, но не уверен, как мне реагировать, когда значение, указанное в длине содержимого, не соответствует фактической длине содержимого

1 Ответ

2 голосов
/ 09 июня 2011

Стандарт, по-видимому, не отвечает на код фактический , на который нужно ответить, только то, что две длины ДОЛЖНЫ совпадать, и что агенты HTTP / 1.1 ДОЛЖНЫ уведомить пользователя.

Я бы просто использовал400 Bad Request код, так как это, в конце концов, в чем проблема (запрос, нарушающий стандарт), и ни один из других кодов серии 400 не кажется достаточно близким.Коды x00 также определяют класс статуса, поэтому могут использоваться для универсального кода.

Имейте в виду, что коды можно расширять, вы всегда можете определить свой собственный, иагенты, которые не распознают его, в любом случае должны рассматривать его как вариант x00 (раздел 6.1.1 RFC2616):

Коды состояния HTTP являются расширяемыми.Приложения HTTP не обязаны понимать значение всех зарегистрированных кодов состояния, хотя такое понимание, очевидно, желательно.Однако приложения ДОЛЖНЫ понимать класс любого кода состояния, как указано в первой цифре, и обрабатывать любой нераспознанный ответ как эквивалент кода состояния x00 этого класса, за исключением того, что нераспознанный ответ НЕ ДОЛЖЕН кэшироваться.Например, если клиент получил нераспознанный код состояния 431, он может с уверенностью предположить, что с его запросом что-то не так, и обработать ответ так, как если бы он получил код состояния 400.В таких случаях пользовательские агенты ДОЛЖНЫ представить пользователю объект, возвращенный с ответом, поскольку этот объект может включать в себя читаемую человеком информацию, которая объяснит необычный статус.

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