Re: #241: clarify eval order/interaction of conditional headers

I think there's a problem.

If both If-Non-Match and If-Mod-Since are given, and they are
evaluated to TRUE and FALSE respectively, the algorithm yields 304 Not
Modified.  The "Not Modified" response is totally wrong, since the
ETag has been updated.

For example, if the current representation has  ETag=v1.0,
Last-Mod=7/1, and the request has
    If-Non-Match: v1.1
    If-Mod-Since: 7/4
the server should respond 200 with the current representation, not a 304.

The solution seems to be that, if both headers are given, only
If-Non-Match should be looked at; the If-Mod-Since condition must be
ignored.

Zhong Yu

Received on Wednesday, 4 July 2012 16:30:27 UTC