New issue
Advanced search Search tips

Issue 824211 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Weird behavior if an entity requiring strong validation has strong date, weak etag.

Project Member Reported by morlovich@chromium.org, Mar 21 2018

Issue description

RFC7233, 3.2.  If-Range:

"A client MUST NOT generate an If-Range header field containing an
 entity-tag that is marked as weak.  A client MUST NOT generate an
 If-Range header field containing an HTTP-date unless the client has
 no entity-tag for the corresponding representation and the date is a
 strong validator in the sense defined by Section 2.2.2 of [RFC7232]."




 
(Woops, somehow managed to submit this by accident)

Anyway, imagine we have a truncated entry that has a strong-validator eligible last-modified, and a weak ETag. If we try to resume it, HttpUtil::HasStrongValidators will return true (since the last-modified is true), so we will go ahead and do an if-range... with the weak ETag. This is clearly wrong by the above:
"A client MUST NOT generate an If-Range header field containing an entity-tag that is marked as weak "
... but I am not sure if using the strong last-modified since If-Range would be permitted, either, given the second part:
" A client MUST NOT generate an If-Range header field containing an HTTP-date unless the client has no entity-tag for the corresponding representation ..."

It may be worth asking HTTP spec folks what the intent is here...

Sign in to add a comment