Data & Requests · LOCAL TOOL

HTTP Cache Timeline

Model a response's age and explicit freshness lifetime using Cache-Control, Date, Age, and Expires. Supply request, response, and evaluation times to make transport delay and cache residence visible.

Runs in this page
No API call
WORKSPACEINPUT → RESULT
01

Your input

LOCAL
HTTP Cache Timeline inputs
02

Result

Run the tool to see a result.

Your result will appear here. Input is not saved.

Browser-side processingNothing is sent to a tool API.

WHY THIS TOOL EXISTS

A focused job, not a black box.

The timeline distinguishes private and shared caches, max-age and s-maxage, no-cache and no-store. It shows the arithmetic behind a timing result rather than treating a single header as a complete cache diagnosis.

How to use it

  1. Paste one captured response's cache-related headers.
  2. Enter request, receipt, and evaluation times with explicit zones.
  3. Choose private or shared cache and inspect the age calculation and restrictions.

TRY A WORKING EXAMPLE

Start with known input.

Load this sample into the workspace, run the tool, and compare the result shown below.

Show sample input
{
  "headers": "Date: Thu, 01 Jan 2026 00:00:00 GMT\nCache-Control: public, max-age=60, s-maxage=120\nAge: 10",
  "requestTime": "2026-01-01T00:00:10Z",
  "responseTime": "2026-01-01T00:00:12Z",
  "now": "2026-01-01T00:00:40Z",
  "cache": "Private cache"
}

Expected sample result from the local tool

fresh under timing model.

{
  "cache": "Private cache",
  "status": "fresh under timing model",
  "freshnessBasis": "max-age",
  "lifetimeSeconds": 60,
  "currentAgeSeconds": 40,
  "remainingFreshSeconds": 20,
  "calculation": {
    "apparentAge": 12,
    "responseDelay": 2,
    "ageHeader": 10,
    "correctedInitialAge": 12,
    "resident": 28
  }
}

Timing model only: request directives, Vary, status-code cacheability, authentication, heuristic freshness, and real browser cache behavior require separate review.

LIMITS AND INTERPRETATION

What the result cannot tell you.

RFC 9111-inspired explicit freshness model. No request is sent. Vary, request directives, authenticated responses, cacheability by status, and heuristic expiration are outside scope. Invalid or duplicate timing directives require review.

Inputs are processed in this page and are not written to local storage.

Reference for this model

Read the standard alongside the supported scope above.