User-Agent
A User-Agent is an HTTP request header that identifies the client software and often reports its platform and version. Browsers, command-line tools, libraries, and crawlers send different values so servers can adapt responses or understand the kind of client making a request.
A browser User-Agent string usually names a browser engine, product version, and operating system, though historical compatibility tokens make the format less direct than it looks. Servers may use it for content negotiation, analytics, bot filtering, or debugging. It is only a claim supplied by the client and is easy to change, so it does not prove that a request came from the named browser.
Fingerprinting systems compare the header with other observable behavior. A User-Agent that claims a current desktop browser can look inconsistent if the TLS handshake, accepted content types, header order, JavaScript APIs, or screen properties resemble an automation library. Randomly rotating strings can create more contradictions, especially if related requests change browser identity during one session.
Good automation keeps the User-Agent accurate for the actual client and stable where a destination session needs continuity. The guide to User-Agent rotation in web scraping covers the tradeoffs.
Related terms: browser fingerprinting and headless browser.