PHP应用程序中的HTTP状态代码

时间:2014-02-25 22:08:58

标签: php http http-status-codes http-status-code-403 http-status-code-415

我最近决定从我的PHP应用程序发送正确的HTTP标头 由于我以前从未这样做过,所以我有几个非常基本的问题。

状态代码200和404似乎很明显 但其他的怎么样?

是否允许/建议/不建议使用403,例如,如果用户必须通过HTML表单登录才能使用该页面?

文件上传415怎么样?例如,如果用户上传具有不受支持的扩展名的图像,那么设置415标题是否是个好主意?

4 个答案:

答案 0 :(得分:1)

可以为双重提交返回状态409(冲突),状态401用于未经授权的提交。对于错误请求(不可处理),您可以返回状态422. Herehere有关于HTTP状态代码的更多建议。

答案 1 :(得分:1)

W3C认可代码的完整列表为here。这些定义包含关于何时应该和不应该使用每个代码的明确指导。例如,您建议使用403与W3C定义不一致。

答案 2 :(得分:1)

这取决于您创建的应用程序。

如果您创建restfull app必须使用正确的状态代码。 但是当您创建后端生成的网站时,您可以自行决定如何处理客户端/服务器错误和路由。

我认为只做一条规则 - 为了获得良好的用户体验 - 处理所有错误,正确的方法(如果401然后重定向到登录等)。

答案 3 :(得分:1)

我认为您应该将这些状态代码用于典型网站:

  • 200好的(如果一切正常,如果有人上传了损坏的文件,甚至是真的 - 给用户发错信息)
  • 301永久重定向
  • 302暂时重定向
  • 304未修改
  • 404未找到
  • 410 Gone

如果您正在构建REST Web服务,则可以使用更多状态代码。但对于一个典型的网站,上面列出的状态代码很好。