【发布时间】:2012-01-19 17:27:35
【问题描述】:
如果我的脚本抛出异常,我应该返回什么 HTTP 状态?
200 正常
或
500 内部服务器错误
假设用户请求参数是正确的,但我的脚本中有一个错误,导致出现错误消息而不是正确的响应(XML、JSON 或其他格式)。 HTTP 状态应该是什么?
【问题讨论】:
-
我会说404。我前段时间在我的项目中也有同样的问题,在阅读了所有代码及其含义后,我留在了404。异常的原因很重要。在 sw 错误上给出 500,在无效的用户输入上给出 404(无效的产品 ID 等)。
-
这取决于异常及其对最终用户的意义!您应该更加精确才能获得有意义的答案!
-
@Notinlist 如果事实上您只是犯了一个编程错误,您会告诉某人资源不存在吗?如果您告诉它该页面不存在,Google 将很快停止在搜索结果中显示您的 URL :) 404 Not Found 仅在请求的资源不存在时才适用(实际上仅在它存在时)从未存在过)。
-
@Mchl:这不是一个完整的答案,所以留下评论是正确的。
-
404 仅适用于用户要求不存在的内容。如果用户只是给你错误的输入,我认为 400(错误请求)更合适。
标签: http http-status