Ticket #406 (closed design: fixed)
304 without validator
|Reported by:||firstname.lastname@example.org||Owned by:||email@example.com|
|Component:||p6-cache||Severity:||In WG Last Call|
"If the new response does not include any form of validator, there is only one stored response, and that stored response also lacks a validator, then that stored response is selected."
But how can a server logically reply with 304 without a validator?
A server can only reply with 304 if the request was conditional. For a request to be conditional, there must be a validator supplied with the request. But in this case the stored response had no validator. So where did the validator come from?
Does this mean that it's compliant behaviour to make a conditional request with data that wasn't in the stored response? E.g. have a cache invent an If-Modified-Since based on something else (e.g. Date)? Presumably a cache can't invent an ETag where there was none. Also, 4.2 para 2 states the If-Modified-Since comes from Last-Modified and doesn't imply it can come from elsewhere.
My initial reaction is to consider a 304 without validator to be a server bug.
This text was introduced by Roy in <http://trac.tools.ietf.org/wg/httpbis/trac/changeset/1374/draft-ietf-httpbis/latest/p6-cache.xml#L1096>. Roy, what was your thinking here?
- Owner changed from firstname.lastname@example.org to email@example.com
- Status changed from new to closed
- Resolution set to incorporated
comment:11 Changed 20 months ago by firstname.lastname@example.org
- Status changed from closed to reopened
- Resolution incorporated deleted