Skip to content

Last minute Age adjustments #778

@mnot

Description

@mnot

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 Age values as stale. However:

    • No cache tested treats a response with Age: abc in this manner; all ignore the field.
    • Only Fastly and Firefox treat a response with Age: -7200 in this manner; the rest ignore the field.
    • Interestingly, most caches do consider a response with Age: 7200.0 to be stale, except for Apache and Chrome.
  • 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.

This suggests that we could align with current implementations and improve interoperability by:

  1. Specifying that invalid Age fields should be ignored, not make the response stale. This is nearly universal practice.
  2. Specifying that the first Age field value should be used when multiple can be parsed. This is also nearly universal practice.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions