RFC2616: мне действительно нужно устанавливать WWW_Authenticate при возврате 401? - PullRequest
3 голосов
/ 08 апреля 2010

Согласно RFC2616 , если я возвращаю 401 в ответ на запрос к моему (Ruby) серверу, я "ДОЛЖЕН включить поле заголовка WWW-Authenticate".Это правда?Не установка заголовка, похоже, не оказывает негативного влияния.Я использую Merb в качестве веб-фреймворка, и он не заставляет меня устанавливать заголовок.

Я что-то упустил или это правило более уважаемое в нарушении?рамки заставляют разработчика устанавливать заголовок при возврате 401?

Ответы [ 2 ]

4 голосов
/ 08 апреля 2010

Вопрос в том, ожидаете ли вы, что пользователи смогут перейти от сбоя 401 к успешной аутентификации в будущем. Если вы не предоставите заголовок WWW-Authenticate, то вы меняете значение 401 с «Вы должны предоставить учетные данные» на «нам здесь не нравится ваш вид». Это может подойти для ваших целей, но коренная причина «ДОЛЖНА» - неотъемлемая невежливость концепции отказа от полномочий без предоставления способа решения проблемы.

1 голос
/ 08 апреля 2010

Вы отправляете 401, если хотите, чтобы клиент прошел аутентификацию, и в этом случае вам нужно сообщить, как.

Так что же вы хотите клиенту сделать? Если это просто сообщение «Вы не можете сделать это», рассмотрите 403.

...