Можно ли вернуть статус HTTP 401 для ответа на вызов AJAX, если вы хотите сообщить, что пользователь не вошел в систему, хотя механизм входа в систему основан на форме, а не HTTP-based (Basic, Digest и т.д.)?
Ответ здесь говорит о том, что следует использовать 401: qaru.site/info/737/...
И это сообщение показывает фактический пример того, кто использует 401 для ответа AJAX: http://www.bennadel.com/blog/2228-some-thoughts-on-handling-401-unauthorized-errors-with-jquery.htm
Однако RFC 2616 для HTTP/1.1 четко заявляет, что необходим специальный заголовок, подразумевая, что он может использоваться только для аутентификации HTTP.
10.4.2 401 Несанкционированный
Запрос требует аутентификации пользователя. Ответ ДОЛЖЕН включает поле заголовка
WWW-Authenticate
(раздел 14.47), содержащее вызов, применимый к запрашиваемому ресурсу.
Я думаю, что я могу, вероятно, отправить поддельный заголовок вроде WWW-Authenticate: WebForm
и по-прежнему соответствовать спецификациям W3C, но похоже, что он нарушает дух заголовка WWW-Authenticate
.
В конце концов, я не могу найти авторитетный источник, который явно указывает, разрешен ли HTTP 401 для ответов AJAX. Есть ли авторитетный источник по этому поводу, который я пропустил?