User-Agent Header
Table of Content
The User-Agent header is a HTTP header field that contains a characteristic string that allows network protocol peers to identify the application type, operating system, software vendor or software version of the requesting party. Essentially, whenever a browser makes a HTTP request, it includes this header to provide information about itself to the server, enabling the latter to offer a user interface tailored to its specific capabilities and restrictions.
Syntax
User-Agent: <product> / <product-version> <comment>Directives
The User-Agent header has two primary directives: product and product-version. The product directive refers to the name of the software making the request, while product-version corresponds to the version of that specific software.
Examples
// A Chrome browser on windows desktop
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537
// An iPhone on iOS 13.5.1 using Safari
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1Browser Compatibility
| Browser | Compatibility |
|---|---|
| Chrome | Supported |
| Firefox | Supported |
| Safari | Supported |
| Opera | Supported |
| Edge | Supported |
How to modify User-Agent header
ModHeader is a Chrome extension that allows you to modify request headers, such as User-Agent. This must be done in the following steps:
- Install the ModHeader extension from the Chrome Web Store.
- Click the ModHeader icon in the toolbar to open the extension.
- You will find an input field labeled 'Request header'. Type 'User-Agent' in this field.
- In the adjacent input field, enter the User-Agent value you wish to use.
- Refresh your browser. All future requests will now use this User-Agent value.
Modifying the User-Agent header is beneficial for testing how servers respond to different browser versions, assisting in identifying potential compatibility issues. It's also used for mobile testing to check how a site responds to different mobile browsers.