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
- Enter maxAgePresent, maxAgeSeconds, expiresPresent, expiresEpochSeconds, 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.
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 field | Meaning and units | Accepted input |
|---|---|---|
| maxAgePresent | Max Age Present | Required. Boolean. |
| maxAgeSeconds | Max Age Seconds | Required. Safe integer. |
| expiresPresent | Expires Present | Required. Boolean. |
| expiresEpochSeconds | Expires Epoch Seconds | Required. Finite number. |
| nowEpochSeconds | Now Epoch Seconds | Required. Finite number. |
| Output field | Interpretation | Returned shape |
|---|---|---|
| result | Result | Required. Object. |
{
"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
Similar or alternative tools
- Cookie Domain Leading Dot Normalization
Remove one optional leading dot and require a hostname no longer than 253 characters with ASCII labels from one through 63 characters and no leading or trailing hyphen.
- Cookie Host Only Domain Attribute Flag
Treat empty domainAttribute as hostOnly.