HTTP Headers
Sec CH UA
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 Sec-CH-UA
request header is a user agent client hint which provides the user-agent’s branding and significant version information.
The Sec-CH-UA
header provides the brand and significant version for each brand associated with the browser in a comma-separated list.
The header therefore allows the server to customize its response based on both shared brands and on particular customizations in their respective versions.
Sec-CH-UA
is a low entropy hint.
Unless blocked by a user agent permission policy, it is sent by default, without the server opting in by sending Accept-CH
.
The header may include “fake” brands in any position and with any name.
This is a feature designed to prevent servers from rejecting unknown user agents outright, forcing user agents to lie about their brand identity.
Note:
The Sec-CH-UA-Full-Version-List
header is the same as Sec-CH-UA
, but includes the full version number rather than the significant version number for each brand.
Header type | Request header, Client hint |
---|---|
Forbidden request header | Yes (Sec- prefix) |
Syntax
A comma-separated list of brands in the user agent brand list, along with their associated significant version numbers.
The syntax for a single entry follows this format:
Example:
Sec-CH-UA: “<brand>”;v=”<significant version>”, …
Directives
Directives
A brand associated with the user agent, like “Chromium”, “Google Chrome”, or an intentionally incorrect brand like "Not A;Brand".
The "marketing" version number associated with distinguishable web-exposed features.
Example
Description
A brand is a commercial name used by user agents such as Chromium, Opera, Google Chrome, Microsoft Edge, Firefox, and Safari. A single user agent can have multiple associated brands. For example, Opera, Chrome, and Edge are all built on Chromium and will include both brands in the sec-CH-UA
header.
The significant version refers to the “marketing” version number that indicates major releases of the brand. For instance, a Chromium build with a full version number of “96.0.4664.45” has a significant version of “96”.
Examples
sec-CH-UA
serves as a low entropy hint. Unless a user agent policy explicitly blocks it, it will be sent with all requests without requiring server-side permission through accpt
.
Below are string examples from desktop browsers such as Chromium, Chrome, Edge, and Opera. Note that they all include the “Chromium” brand but also specify their own unique brand. Additionally, some strings contain intentionally incorrect brand data that may appear anywhere and vary in text.
sec-CH-UA: ""(Not(A:Brand";v="8", "Chromium";v="98"
sec-CH-UA: " Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"
sec-CH-UA: " Not A;Brand";v="99", "Chromium";v="96", "Microsoft Edge";v="96"
sec-CH-UA: "Opera";v="81", " Not;A Brand";v="99", "Chromium";v="95"
How to Modify Header using Requestly
- Install and open the Requestly Chrome extension. You can find it on the Chrome Web Store.
- Create a new rule: Click on “Create Rule” and choose “Modify Headers” from the list of available rule types.
- Add a new header modification:
- Under “Action”, select “Add” or “Override”.
- In the “Header Name” field, enter Sec-CH-UA.
- In the “Header Value” field, enter the desired user agent client hint string (e.g., “\”Chromium\”;v=\”112\”, \”Google Chrome\”;v=\”112\”, \”;Not A Brand\”;v=\”99\””).
- Set the URL condition: Specify the URL or pattern where this header change should apply (e.g., https://your-api.com/*).
- Save the rule.
Once set up, Requestly will inject the Sec-CH-UA header into all matching requests, allowing you to simulate different browser client identities and test adaptive content or feature delivery on your server.
Table of Contents
- No headings found.