【问题标题】:HTTP Status Codes in a PHP ApplicationPHP 应用程序中的 HTTP 状态码
【发布时间】:2014-03-28 10:49:41
【问题描述】:

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

状态码 200 和 404 似乎很明显。
但是其他的呢?

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        如果您创建 restfull 应用程序,则必须使用正确的状态代码。 但是,当您创建后端生成的网站时,如何处理客户端/服务器错误和路由取决于您。

        我认为这是唯一的一条规则 - 为了获得良好的用户体验 - 以正确的方式处理所有错误(如果 401 则重定向到登录等)

        【讨论】:

          【解决方案4】:

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

          • 200 好的(如果一切正常,即使有人上传了损坏的文件也是如此 - 向用户发送错误消息)
          • 301 永久重定向
          • 302 暂时重定向
          • 304 未修改
          • 404 未找到
          • 410 走了

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-09-23
            • 1970-01-01
            • 2014-10-15
            • 1970-01-01
            • 1970-01-01
            • 2018-09-17
            • 1970-01-01
            相关资源
            最近更新 更多