When we talk about browser fingerprints, the first thing we need to discuss is the "UserAgent". The UserAgent is an HTTP header that the browser sends to the website server, and it contains information about the browser type, version, operating system, and so on.
Wait, what is HTTP header?
When you enter a website URL in your browser and press enter, the browser sends a request to the server to retrieve the content of the webpage. This request includes some additional information, and that information is the HTTP header.
You can think of the HTTP header as the order form you give to the waiter when you dine at a restaurant. When you sit down, you hand over the order form to the waiter, which specifies your needs and requirements. The HTTP header is like the "order form" that the browser sends to the server, telling it what your request is and any special requirements you have.
The HTTP header contains a lot of information, such as:
User-Agent: It's like telling the waiter your name so they know who is placing the order. User-Agent informs the server about the browser and operating system you are using.
Accept: It's like specifying the types of food you are willing to accept on the order form, such as Chinese, Western, or vegetarian. Accept tells the server the types of responses you can accept, such as HTML webpages, images, or videos.
Referer: It's like telling the waiter that you came to the restaurant based on a recommendation from a friend. Referer tells the server the webpage link you clicked from to reach the current page.
Cookie: It's like writing down special requests on the order form, such as no spicy or less salt. A cookie is a small text file stored in your browser that contains information related to your website visits.
The purpose of the HTTP header is to help the server understand your request and respond with the appropriate content based on your needs. Just like the order form tells the waiter what you want, the HTTP header informs the server about the data and services you require.
What is UserAgent composed of?
The UserAgent string is composed of multiple parts, each containing specific information ranging from browser type to operating system version. BrowserScan will guide you through the meaning of each part and how to parse this information.
Let's take a look at a few examples of UserAgent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15
Mozilla/5.0:
General identifier indicating that the UserAgent follows the Mozilla specification and is version 5.0.
Operating System Information:
The operating system information includes the operating system used by the user and its version. This is important for website developers as different operating systems may have different features or limitations.
(Windows NT 10.0; Win64; x64): Indicates that the user is using Windows 10 operating system with a 64-bit version.
Rendering Engine Information:
The rendering engine is the core component used by the browser to render web pages. Understanding the used rendering engine can help developers optimize their websites to ensure proper functioning on specific browsers.
AppleWebKit/537.36: Indicates that the rendering engine used is Apple's WebKit, with version 537.36.
Compatibility Mode Information:
Compatibility mode indicates whether the browser is currently in a specific compatibility mode. Developers can use this information to ensure that the website can adapt to different browser modes.
(KHTML, like Gecko): Indicates that the browser uses a rendering engine similar to KHTML and Gecko when processing the page.
Application Information:
The application information includes the specific name and version number of the browser. This is important for developers to ensure that the website is compatible with different browser versions.
Chrome/94.0.4606.81: Indicates that the user is using the Chrome browser with version 94.0.4606.81.
Do all browsers have the same UserAgent?
The UserAgent information in popular browsers such as Chrome, Firefox, Safari, and Edge may have slight differences. However, overall, the UserAgent string in all browsers includes information about the operating system, browser type, version, and rendering engine.
Let's take a look at the differences between the UserAgents of these four browsers:
Chrome
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36
Firefox
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0
Edge
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.46
Safari
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Safari/605.1.15
Through the table below, I believe you will have a clearer view, as there are differences in the other information, except for the general identifier.
Browser | General identifier | Operating system | Rendering engine | Compatibility mode | Browser version |
Chrome | Mozilla/5.0 | (Windows NT 10.0; WOW64) | AppleWebKit/537.36 | (KHTML, like Gecko) | Chrome/102.0.0.0 Safari/537.36 |
Firefox | Mozilla/5.0 | (Windows NT 10.0; Win64; x64; rv:109.0) | Gecko/20100101 |
| Firefox/114.0 |
Edge | Mozilla/5.0 | (Windows NT 10.0; Win64; x64) | AppleWebKit/537.36 | (KHTML, like Gecko) | Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.46 |
Safari | Mozilla/5.0 | (Macintosh; Intel Mac OS X 10_15_7) | AppleWebKit/605.1.15 | (KHTML, like Gecko) | Version/16.1 Safari/605.1.15 |
Would you like to know what the UserAgent of the browser you are currently using looks like? Click here to check immediately.
Why are there two UserAgents?
When you use BrowserScan to detect the UserAgent fingerprint of a browser, you might notice that there are two UserAgents. Why is that?
Actually, when it comes to obtaining a user's UserAgent, there are two methods: through HTTP requests (as mentioned earlier) and through JavaScript functions. Here are the differences between the two:
Obtaining UserAgent through HTTP requests is done on the server side of a website, where the server parses the User-Agent field in the HTTP header.
Obtaining UserAgent through JavaScript is performed on the user's browser side and does not rely on server-side HTTP requests. We can use JavaScript functions to view our own browser's UserAgent.
Let's take an example: Imagine you have a computer that is not connected to the Internet, and the browser cannot make requests to any website. If you want to know the UserAgent of that browser, what can you do?
If you open the Chrome browser, you can press the F12 key to open the developer console. Then, click on the Console tab, and enter the command "window.navigator.userAgent" in the console. This will allow you to view the UserAgent of that browser.
If you regularly write scripts to scrape website content, it is important to ensure that these two UserAgents are modified consistently. You should always use BrowserScan to check if the modified UserAgent of your browser aligns with the real-world scenario.
What is UserAgent used for?
UserAgent has various uses in today's digital landscape. Here are some practical applications:
Website traffic analysis:
Many website analytics tools use UserAgent information to track visitors' browsers, operating systems, and device types. This helps website operators understand their audience, optimize website experience, and ensure compatibility.
Website compatibility:
Website developers analyze visitor UserAgent information to optimize their websites for various browsers and devices, ensuring smooth functioning across different platforms.
Malicious activity detection:
Security companies and website administrators use UserAgent information to detect malicious or unusual activities. Certain UserAgent strings may indicate attempts to launch attacks or abuse the website.
Ad targeting:
Marketing teams use UserAgent data to better target their advertisements. Users of different devices and browsers may respond differently to different types of ads.
Data analysis and market research:
Market researchers and data analysts use UserAgent data to understand user behavior across different browsers and devices, helping them gain insights into user preferences and trends.
Multi-Account Management
From the previous text, it can be understood that through UserAgent, websites can obtain information about a user's device and browsing habits, such as:
Browser type and version: The name and version of the browser you are using.
Operating system: Your operating system, whether it's Windows, macOS, or Android.
Device type: Whether you are using a computer or a mobile phone.
If you have multiple accounts, it is important to ensure that there are differences in the information characteristics between the accounts to avoid the website associating your multiple accounts based on the above information. According to BrowserScan's investigation and research, using browser extensions to modify UserAgent does not effectively disguise your browser, and such precautionary measures are not secure. Especially when the UserAgent fingerprint is combined with other fingerprint information, it needs to match the characteristics of a real device.
On the other hand, a fingerprint browser can generate fingerprints that match the characteristics of a real device, and it allows each of your accounts to operate in a unique environment. This not only ensures the privacy of your accounts but also ensures their security.
You are welcome to bookmark our blog to keep up with the latest news in the industry. We would be honoured if you would use BrowserScan to check your browser fingerprints.
Read Also
Browser Fingerprinting Guide for Beginners
10 Browser Fingerprints to Know in 5 Minutes