我想知道当服务器端发生错误时返回HTTP 200 OK
是否正确(错误详细信息将包含在响应主体中)。
例子:
- 我们正在发送
HTTP GET
- 服务器端发生意外。
- 服务器返回
HTTP 200 OK
状态代码,响应中有错误(例如{"status":"some error occurred"}
)
这是正确的行为吗?我们是否应该将状态码更改为 200 以外的其他值?
最佳答案
不行,发送带有错误正文的200是非常不正确的
HTTP 是一种应用协议(protocol)。 200 意味着响应包含表示所请求资源状态的有效负载。错误消息通常不是该资源的表示。
如果在处理 GET 时出现问题,正确的状态代码是 4xx(“你搞砸了”)或 5xx(“我搞砸了”)。
关于http - 返回 http 200 OK,响应正文中有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27921537/