Я работаю над веб-сайтом на основе Rails REST и пишу свои функциональные тесты для контроллеров. В качестве приложения на основе REST я использую несколько глаголов HTTP, GET
, POST
, PUT
, DELETE
и т. д.
Я заметил, что я непоследовательно использую коды ответов HTTP 401 и 302 в отношении анонимных пользователей. Иногда, когда они делают запрос на ресурс, требующий аутентификации, я возвращаю 401 Unauthorized. В других случаях я возвращаю 302 и перенаправляю их на страницу входа.
Есть ли стандарт, которому я должен следовать здесь? Когда следует использовать 401? Когда я должен перенаправить на страницу входа? Например,
- Следует ли перенаправить
GETs
? - Должен ли
POSTs
получить401
? - Что мне делать для запросов AJAX, где 302 не будет выполняться?
Или, возможно, это всего лишь вопрос мнения, соглашение, которое мне нужно выбрать и соблюдать самостоятельно.