-
Notifications
You must be signed in to change notification settings - Fork 42
Closed
Labels
Description
Apologies for the lateness, but going through my tests, I think we need to adjust handling of invalid Age headers:
-
Right now, it's specified that caches SHOULD treat responses with invalid
Agevalues as stale. However:- No cache tested treats a response with
Age: abcin this manner; all ignore the field. - Only Fastly and Firefox treat a response with
Age: -7200in this manner; the rest ignore the field. - Interestingly, most caches do consider a response with
Age: 7200.0to be stale, except for Apache and Chrome.
- No cache tested treats a response with
-
We specify that the first field line should be used when multiple are present. That's almost universally adhered to (with one deviation by Safari), but we omit multiple values on the same field line from this rule (which are treated as invalids as per above). However:
- When that line is
0, something_old, all caches reuse the response. - When that line is
something_old, 0, only Safari and Apache reuse it.
- When that line is
This suggests that we could align with current implementations and improve interoperability by:
- Specifying that invalid
Agefields should be ignored, not make the response stale. This is nearly universal practice. - Specifying that the first
Agefield value should be used when multiple can be parsed. This is also nearly universal practice.