Skip to content

Main content

Web: HTTP Age Date Response Adjustment Tool

Apply RFC9111 apparent-age/response-delay adjustment and resident time from explicit parsed timestamps and Age; not a cache freshness or header parser.

Loading tool…

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

  1. Enter dateEpochSeconds, requestEpochSeconds, responseEpochSeconds, ageSeconds, nowEpochSeconds. Use the units and conventions below.
  2. Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
  3. 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 fieldMeaning and unitsAccepted input
dateEpochSecondsSupplied response Date value as epoch seconds.Required. Finite number.
requestEpochSecondsRequest time on the shared epoch-second axis.Required. Finite number.
responseEpochSecondsResponse receipt time on that axis.Required. Finite number.
ageSecondsReceived Age quantity in seconds.Required. Finite number.
nowEpochSecondsObservation time on the same epoch-second axis.Required. Finite number.
Output fieldInterpretationReturned shape
resultResultRequired. Object.
json
{
  "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

  1. Calculation and input contract: web/http-age-date-response-adjustment — tool.io

  2. RFC 9111, 4.2.3: Calculating Age — IETF

Similar or alternative tools