使用“If-Match”和ETags获取请求

时间:2013-01-13 12:11:08

标签: http rest http-headers etag http-caching

我正致力于为RESTful服务实现ETag功能,并且我希望尽可能接近HTTP规范。然而,规范并不像它应该的那样清晰。具体来说:

If-Match标题 - GET请求的语义是什么?

据推测,带有If-Match标题的GET,如果值匹配将与ETag的值匹配 - 返回实际资源 200 OK (不是304)。 如果值不匹配,则应返回 412 Precondition Failed 以及ETag的新值而没有内容?

1 个答案:

答案 0 :(得分:1)

这是正确的,期望规范要求对ETag的412响应If-Match的新值为nowhere。你可以省略它。对If-None-Match的304回复仅为recommended。也许这就是你引起混乱的地方。