Spec-Zone.ru › HTTP

Headers: Critical-CH

Critical-CH header

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The HTTP Critical-CH response header is used along with Accept-CH to identify the accepted client hints that are critical.

User agents receiving a response with Critical-CH must check if the indicated critical headers were sent in the original request. If not, the user agent will retry the request along with the critical headers rather than render the page. This approach ensures that client preferences set using critical client hints are always used, even if not included in the first request, or following server configuration changes.

Each header listed in the Critical-CH header should also be present in the Accept-CH and Vary headers.

Header type Response header

Syntax

Critical-CH: <ch-list>

Directives

<ch-list>

A list of one or more comma-delimited client hint headers that the server considers to be critical client hints.

Examples

The client makes an initial request to the server:

GET / HTTP/1.1
Host: example.com

The server responds, indicating via Accept-CH that it accepts Sec-CH-Prefers-Reduced-Motion. In this example, Critical-CH is also used to specify that Sec-CH-Prefers-Reduced-Motion is considered a critical client hint.

HTTP/1.1 200 OK
Content-Type: text/html
Accept-CH: Sec-CH-Prefers-Reduced-Motion
Vary: Sec-CH-Prefers-Reduced-Motion
Critical-CH: Sec-CH-Prefers-Reduced-Motion

Note: We've specified Sec-CH-Prefers-Reduced-Motion in the Vary header to indicate that responses should be separately cached based on the value of this header (even if the URL stays the same). Each header listed in the Critical-CH header should also be present in the Accept-CH and Vary headers.

The client automatically retries the request (due to Critical-CH being specified above), telling the server via Sec-CH-Prefers-Reduced-Motion that it has a user preference for reduced-motion animations:

GET / HTTP/1.1
Host: example.com
Sec-CH-Prefers-Reduced-Motion: "reduce"

The client will include the header in subsequent requests in the current session unless the Accept-CH changes in responses to indicate that it is no longer supported by the server.

Specifications

Specification
Client Hint Reliability>
# name-the-critical-ch-response-he>

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS
Critical-CH 91 91 No 77 No 91 No 64 No 16.0 91 No

See also

  • Client hints
  • User-Agent Client Hints API
  • Improving user privacy and developer experience with User-Agent Client Hints (developer.chrome.com)
  • Accept-CH
  • HTTP Caching: Vary and Vary
  • PerformanceNavigationTiming.criticalCHRestart

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Critical-CH

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API