Skip to content

Main content

Web: Cookie Maxage Vs Expiry Precedence Tool

Resolve parsed cookie Max-Age precedence over Expires using supplied receipt time; absent session expiry uses unused zero and no full Set-Cookie parsing.

Loading tool…

Description

Resolve parsed cookie Max-Age precedence over Expires using supplied receipt time; absent session expiry uses unused zero and no full Set-Cookie parsing.

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.

Resolve parsed cookie Max-Age precedence over Expires using supplied receipt time; absent session expiry uses unused zero and no full Set-Cookie parsing.

When to use this tool

Use Web: Cookie Maxage Vs Expiry Precedence 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 maxAgePresent, maxAgeSeconds, expiresPresent, expiresEpochSeconds, 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.

Give a present Max-Age precedence over Expires. For Max-Age add max(0,maxAgeSeconds) to nowEpochSeconds; otherwise use a present expiresEpochSeconds, or zero for a session cookie. Return source, persistent, expiryEpochSeconds, and expired inside result.1

Input fieldMeaning and unitsAccepted input
maxAgePresentMax Age PresentRequired. Boolean.
maxAgeSecondsMax Age SecondsRequired. Safe integer.
expiresPresentExpires PresentRequired. Boolean.
expiresEpochSecondsExpires Epoch SecondsRequired. Finite number.
nowEpochSecondsNow Epoch SecondsRequired. Finite number.
Output fieldInterpretationReturned shape
resultResultRequired. Object.
json
{
  "input": {
    "maxAgePresent": true,
    "maxAgeSeconds": 10,
    "expiresPresent": true,
    "expiresEpochSeconds": 0,
    "nowEpochSeconds": 100
  },
  "output": {
    "result": {
      "source": "max-age",
      "persistent": true,
      "expiryEpochSeconds": 110,
      "expired": false
    }
  }
}

Limitations and assumptions

  • MaxAgeSeconds must be an integer within plus or minus one billion even when not selected. A session cookie's zero expiry is a placeholder with expired false; this does not parse attributes or reproduce every browser storage rule.
  • 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/cookie-maxage-vs-expiry-precedence — tool.io

Similar or alternative tools