Description
Apply RFC9111 apparent-age/response-delay adjustment and resident time from explicit parsed timestamps and Age; not a cache freshness or header parser.
Web protocol data has several layers: a complete message or URL, individual fields or components, and the literal tokens within them. Delimiter presence, spelling, comparison rules, and parser normalization can affect results. A check of one component needs its stated scope before it can be used in a larger parser or policy decision.
Apply RFC9111 apparent-age/response-delay adjustment and resident time from explicit parsed timestamps and Age; not a cache freshness or header parser.
When to use this tool
Use Web: HTTP Age Date Response Adjustment when you need one stated URL, header, or protocol-component check in a diagnostic or parser workflow. Supply the input level specified below.
How to use the tool and how it works
- Enter dateEpochSeconds, requestEpochSeconds, responseEpochSeconds, ageSeconds, nowEpochSeconds. Use the units and conventions below.
- Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
- Read result. Expand result to inspect the returned fields.
Require nonnegative ageSeconds and requestEpochSeconds<=responseEpochSeconds<=nowEpochSeconds. Set correctedInitialAge to the greatest of zero, response minus Date, and Age plus response delay; add now minus response for currentAge. Return both inside result.1
HTTP cache age accounts for the response date, received Age, response delay, and time subsequently resident in the cache.2
| Input field | Meaning and units | Accepted input |
|---|---|---|
| dateEpochSeconds | Supplied response Date value as epoch seconds. | Required. Finite number. |
| requestEpochSeconds | Request time on the shared epoch-second axis. | Required. Finite number. |
| responseEpochSeconds | Response receipt time on that axis. | Required. Finite number. |
| ageSeconds | Received Age quantity in seconds. | Required. Finite number. |
| nowEpochSeconds | Observation time on the same epoch-second axis. | Required. Finite number. |
| Output field | Interpretation | Returned shape |
|---|---|---|
| result | Result | Required. Object. |
{
"input": {
"dateEpochSeconds": 90,
"requestEpochSeconds": 95,
"responseEpochSeconds": 100,
"ageSeconds": 20,
"nowEpochSeconds": 110
},
"output": {
"result": {
"correctedInitialAge": 25,
"currentAge": 35
}
}
} Limitations and assumptions
- All clocks are supplied in seconds and must be consistent. This computes an age term, not freshness lifetime, cacheability, header parsing, or permission to reuse a response.
- Outputs are nested inside result. The field tables state structural bounds; the mechanics also specify cross-field constraints. Malformed inputs and unsupported domains cause errors. A successful false flag, empty branch value, or zero placeholder has the meaning stated above and is distinct from an input error.
Alternative or Complementary methods
Use a complete URL or header parser when the task involves an entire field or message. Test actual browser, server, or cache behavior separately when a security or protocol decision depends on more than this component.
References
Similar or alternative tools
- HTTP Age Cache Freshness Residual
Calculate remaining cache freshness lifetime and mark exact lifetime equality as no longer fresh.
- HTTP Date IMF Fixdate Zone Token
Return valid only when zone equals the exact uppercase token GMT, and return canonical as GMT for that case or empty text otherwise.