【发布时间】:2012-09-30 20:13:18
【问题描述】:
好的,我现在正在处理管理面板,所以我遇到了一些绊脚石。
表格:http://pastebin.com/D8Dt6zP5
处理页面:http://pastebin.com/FpXSziPM
现在,解决问题,当在 $_GET 中找不到预期值时,我只是使用了 403 Forbidden 标头,但是,当考虑时,它并不是真正需要登录的操作(当然不是为了这个用户必须首先登录才能查看管理面板),这更像是一个意外的值输入。
所以我去研究了一下,在每个简短的解释中,我选择了这些可能合适的标题。
我参考this,按每个状态码分组看,这应该属于4XX码。
所以更深入,我选择这两个:
400 Bad Request:由于语法错误,请求无法完成
417 Expectation Failed:服务器无法满足Expect request-header字段的要求
现在,我不能确定使用哪一个,我看到400 Bad Request 被大量使用,但是,我从解释中得到的错误是由于不存在的请求而不是非法输入。
另一方面,417 Expectation Failed 似乎正好适合我的使用,但是,我以前从未见过或尝试过这种标头状态。
正如我的旁注,在 Wikipedia 中对 403 的解释中,我可以看到这是非常错误的,就像我想的那样,我可能应该将 401 用于未登录的视图,403 用于登录无权访问某个区域的用户。
所以我真的需要你的意见,现在谢谢。
问候,TheDeadLike。
【问题讨论】:
-
很好的问题,但你可能会在serverfault.com上获得更好的运气
-
感谢您的参考,它真的很有帮助! :)
标签: http http-headers http-status-codes http-status-code-401 http-status-code-400