我正在开发一个基于 Rails REST 的网站,并且正在为控制器编写功能测试。作为一个基于 REST 的应用程序,我使用了几个 HTTP 动词GET
、、、、POST
等。PUT
DELETE
我注意到我对匿名用户的 401 和 302 HTTP 响应代码的应用程序不一致。有时,当他们请求需要身份验证的资源时,我会返回 401 Unauthorized。其他时候,我返回 302 并将它们重定向到登录页面。
我应该在这里遵循标准吗?什么时候应该使用 401?我什么时候应该重定向到登录页面?例如,
- 应该
GETs
重定向吗? - 应该
POSTs
得到一个401
? - 对于不遵循 302 的 AJAX 请求,我该怎么办?
或者也许这只是意见问题,我需要自己选择和执行的约定。