New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Content framing and refresh #25
Comments
In 4.3.1. Sending a Validation Request, add:
|
3.1 currently has:
Observations:
|
Referring to h1-messaging 6.3 would make this specific to H1. Referring to 4.3.1 in caching keeps it protocol-generic. If another version doesn't crisply define what's an incomplete message, we can deal with that separately. |
I think the text in 3.1 should change to:
|
This seems reasonable. It's also related to quicwg/base-drafts#1972, asking whether servers can wait for end-of-stream to consider a message complete in HTTP/3. (Proposal in quicwg/base-drafts#2003 is "no, you can't.") |
No, HTTP/1.0 is consistently optimistic. If the server desires more rigor, it can do the work to supply the framing that would indicate an error occurred. When it fails to do so, it is deliberately choosing to maximize performance over correctness. Hence, the assumption has always been that a close-delimited message is always complete. |
I think Mark's suggestion is right. I would characterize HTTP/1.0 as ambiguous and that causes revalidation deadlocks. Its somewhat worse that this pattern needlessly shows up in HTTP/1.1 as well.
|
Thinking on this for a while, I think MAY might be more appropriate than SHOULD here; I have a strong suspicion that most caches will not consider a close-delimited response as incomplete. I could test it, I suppose. |
Also, in the sentence:
...I think s/partial/incomplete/, based on context. Any concerns there? |
It'd be good to say something about how weakly-framed content (e.g., no Content-Length in 1.0; no CL or chunked in 1.1) should be handled differently by caches, especially during reload.
From httpwg/http-extensions#325
The text was updated successfully, but these errors were encountered: