Accept-CH-Lifetime
The HTTP Accept-CH-Lifetime response header specified how long, in seconds, the browser remembered the server's Accept-CH preference for client hint headers.
Legacy
This header appeared in early Client Hints drafts but was removed before the specification was finalized. Modern browsers no longer recognize Accept-CH-Lifetime. The Accept-CH preference now persists until the next top-level navigation by default.
Usage
The Accept-CH-Lifetime header was part of the early Client Hints proposal. Servers included the header alongside Accept-CH to tell browsers how many seconds the hint preference stayed valid. Once the lifetime expired, the browser stopped sending the requested client hint headers until the server issued a new Accept-CH response.
The header accepted a single integer value representing
seconds. Common values in production ranged from 300
(five minutes) to 4838400 (roughly 56 days).
Larger platforms used the longer duration, while
e-commerce sites used shorter windows of 300 seconds.
The Client Hints specification changed during development. The working group determined a separate lifetime mechanism added complexity without meaningful benefit. The specification dropped Accept-CH-Lifetime entirely. Browsers now remember the Accept-CH preference for the duration of the session and re-evaluate on each top-level navigation. Critical-CH (WICG Client Hints Infrastructure) later added a mechanism for ensuring critical hints arrive on the first page load.
Some servers continue to send Accept-CH-Lifetime in responses, often alongside Accept-CH. These values are ignored by modern browsers.
Values
Lifetime in seconds
The value is a non-negative integer representing the number of seconds the browser was expected to remember the Accept-CH preference.
Example
A server requesting device memory and viewport width
hints with a five-minute lifetime. The 300 value told
the browser to remember the preference for 300 seconds
before discarding the client hint configuration.
Accept-CH: Device-Memory, Viewport-Width
Accept-CH-Lifetime: 300
A server requesting the same hints with a longer
persistence window of roughly 56 days. The 4838400
value was common on large social platforms where
repeat visits were frequent.
Accept-CH: Device-Memory, Viewport-Width
Accept-CH-Lifetime: 4838400
A one-day lifetime paired with Accept-CH. The 86400
value (24 hours) set a moderate persistence window.
Accept-CH: Sec-CH-UA-Mobile, Sec-CH-UA-Platform
Accept-CH-Lifetime: 86400
Takeaway
The Accept-CH-Lifetime header was an early Client Hints mechanism for controlling how long browsers remembered a server's hint preferences. The header was removed from the specification before publication. The Accept-CH header now handles hint negotiation on its own.
See also
- RFC 8942: HTTP Client Hints (does not include Accept-CH-Lifetime)
- Accept-CH
- Critical-CH
- Client-Hints
- HTTP headers