etag预计但未收到时的响应代码?

时间:2013-04-17 09:54:20

标签: http

如果服务器要求设置ETag标头但请求不包含它,那么服务器发送的HTTP响应代码是什么? 最合适的是BAD REQUEST(400)吗?

3 个答案:

答案 0 :(得分:2)

description in RFC 2616将状态 403 定义为“服务器理解请求,但拒绝履行请求。”

由于明确地要求服务器解释为什么请求被拒绝,因此403的主体声明“所有请求必须包含ETag标头”似乎是正确的响应。

状态400在该RFC中定义为由于“格式错误的语法”,这与接收您不喜欢的请求不同。

答案 1 :(得分:1)

如果您的意思是缺少条件请求标头字段(例如If-None-Match),那么答案将是状态428(请参阅http://tools.ietf.org/html/rfc6585#section-3)。< / p>

答案 2 :(得分:0)

这是有条件的GET吗?因为如果无法验证客户端缓存的有效性,那么带有全身的普通200 OK似乎完全适合我。