正确的HTTP状态代码,用于发送应用程序错误

时间:2014-02-06 15:00:46

标签: http error-handling http-headers

我正在检查处理PHP应用程序中所有错误的类。

我根据要处理的错误类型提供这些标头:

  • 404,如果找不到页面或现有页面错误/没有更多可用项目;
  • 500表示服务器错误;
  • 503 +重试后进行临时维护

我仍然不确定要在哪个标头上发送应用程序错误:SQL查询错误,编程错误(PHP核心错误,类异常等等)。当然,由于每个页面都进行了开发测试和beta测试,所以不应该发生这类错误,但谁知道,也许它们可能会发生。

我无法决定采用哪一个:

  • 400 Bad Request 实际上这些情况都是“好”的请求,只是我们在编程上犯了错误。
  • 403 Forbidden 实际上,资源不被禁止......您可以(并且应该可以)访问该资源。
  • 500内部服务器错误也许它可能是最佳选择,但它不是正确且特别是服务器错误,而是应用程序错误。服务器没问题!

我在Stackoverflow和博客中都没有找到任何答案:每个人都想知道在404个案例中发送哪个标题,服务器错误或维护状态,但是没有人提出有关应用程序错误的解决方案。
你知道吗?

1 个答案:

答案 0 :(得分:1)

从HTTP的角度来看,你所谓的“应用程序”是服务器的一部分。