Trang này chưa có bằng ngôn ngữ của bạn. Bạn đang đọc bản tiếng Anh.
Glossary
User-Agent Client Hints
User-Agent Client Hints are request headers and a script object through which a browser reports its identity in separate fields.
How a site asks for them
Three of these fields travel with every request you make, and the detailed ones are handed over only on request.
- 1
Three go by default
The brand list, the mobile flag and the platform name are sent without anyone asking for them.
- 2
The site names what else it wants
A reply header lists the extra fields, and the browser adds them to the requests that follow.
- 3
Script can ask directly
A page can request the detailed fields in one call and read them in the answer.
Your browser right now
The panel reads the single line and the platform in your browser on this page.
The hints carry those same facts split into fields, which is exactly why the two get compared.
Máy của bạn, ngay lúc này
- Single line form
- đang đo trên máy của bạn
- Platform
- đang đo trên máy của bạn
- Primary language
- đang đo trên máy của bạn
Được đọc trong trình duyệt của bạn và hiển thị tại đây. Không có gì được gửi đi.
Free fields and asked fields
The split is the whole design: a little is given away freely and the detail is given only to a site that asks.
| Field | When it is sent |
|---|---|
| Brand and version list | With every request, major releases only |
| Mobile flag and platform name | With every request |
| Exact build, architecture, bitness | Only after a site asks for them |
| Device model and form factor | Only after a site asks, and the model is filled on phones |
Why the fields have to agree
Every field here is derived from the same profile seed as the line, the platform and the hardware, so no two of them can drift apart.
The version fields are taken from the engine that will open the profile, and the architecture follows the graphics card the profile reports.
One release everywhere
The brand list, the full version list and the single line all name the same release.
A processor that fits the card
A profile reporting an Apple chip says arm here, and one reporting a Windows card says x86.
Nothing extra volunteered
The detailed fields are answered for a site that asks and are not sent to a site that did not.
Often confused with
User agent
The older single line, which carries the same facts in one string and is now kept deliberately short.
navigator.platform
A script value naming the system family, which is read next to the platform field here.
A permission prompt
Nothing here asks you, and no window appears when a site collects the fields that travel by default.
How to check your own
The panel above reads your own browser, and nothing leaves this page.
Inside a profile, the fingerprint self-test asks for the detailed fields the way a site would and compares every answer with the profile.
What this does not do
- It does not hide the platform. The aim is not to refuse the question but to answer it the way the machine a profile describes would answer it.
- It does not fill the model on a desktop. Real Chrome leaves that field empty there, so a value in it would be a mark of its own.
- It does not stop a site asking for more. A site may ask for every detailed field, and a browser that refuses the whole set is rarer than any answer to it.
- It does not make two profiles unrelated. Cards, fonts, cores and the language stack are read beside these fields and weigh more than any of them.
Check it
Everything above comes from a file you can open.
- Where every hint field is derived
- packages/shared/src/index.js
- The outgoing headers follow the profile
- apps/desktop/src/main/main.js
- Line, brands and full version name one release
- apps/desktop/test/fingerprint-consistency.js
- The phone names its model only here
- apps/desktop/test/mobile-really-mobile.js
Questions
- Are client hints replacing the user agent?
- They are taking over the detail. The single line stays short for old scripts, and the exact release now travels through these fields.
- Can a site read them without asking me?
- The default three travel with every request and there is no prompt. The detailed ones need the site to ask, and the site asks the browser rather than you.
- What happens when the line and the hints disagree?
- One reading contradicts the other, and a contradiction is stronger evidence than either value alone. Passing that comparison is the whole reason the set is built from one seed.
- Do the hints name the exact build?
- Yes, for a site that asks. Here that build is the version of the engine that will actually render the page, read from the engine itself.
- Does a phone report its model?
- Through these fields, yes. The single line froze the model years ago, so the hints are the only place where a real phone names itself.
Ask your profile what a site would ask
The self-test runs inside a profile and reports all 29 measurements, green and red alike.