Report collapsed requests and storage
04Several waiting requests can share one forward request, but reuse can also fail.
Separate B case: the attempted sharing did not yield a usable response for B, so a new forward request is made. After that request completes, the resulting response reports collapsed=?0. This resets the earlier success example.
Source for this drawing: RFC 9211 · Read RFC section 2.6 ↗
New to this? Start hereA quick picture + helpful background
A request starts a conversation.
A client asks for a resource. A server sends a response. The method, address, headers, and status explain what that conversation means.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
collapsed reports whether sharing succeeded, not whether forwarding disappeared.
- A cache can combine concurrent requests into one forward request. collapsed is a Boolean meaningful only when fwd is present.
- collapsed true means the response was successfully reused for requests combined together. If an attempted collapse fails, collapsed=?0 reports that a new request had to be made. If absent, the request was not collapsed with others.
- In Structured Fields parameter syntax, bare ;collapsed and ;stored serialize true. ?0 explicitly represents false. These are Booleans, not text strings such as "true".
- stored reports whether the resulting response was stored. Collapsing and storage are separate: a report can contain fwd, collapsed and stored together.
- Concurrent request labels A/B identify two fictional requests, not users or credentials. The example omits detailed eligibility checks; sharing must still satisfy HTTP caching rules.
The absent/true/false cases are distinct. A failed collapse is not an HTTP failure code or proof that the final request failed; it says sharing could not satisfy that request.
Read the RFC section ↗