User Agent standard

I read this beautiful essay on how we’ve come to this user agent string mess. So I started to google up something about user agent string standards, but even the RFC of HTTP is quite shy on information. So I’d like to propose a standardized User Agent string format.

I know, that’s quite impossible, but at least, it would be mentioned on the web, and maybe somebody would catch an eye on this.

Purpose

  1. For clarity;
  2. For content separation (if needed, and mostly it shouldn’t be, but we’re living in the world dominated by 5 different browser vendors);
  3. For statistics harvesting.

Solution

User-Agent: browser-name/version (operating-system/version; charset; locale[; screen-resolution][; geo-location]) [compatible-engine[/version]] [proxy-name[/version]]

  • browser-name/version – the real name of a browser (i.e., MSIE/9.0)
  • operating-system/version – the real name of OS (i.e., AppleMacOSX/10.5.3)
  • charset – the default preferred character set (i.e., utf-8)
  • locale – RFC standard locale (i.e., en_US)
  • screen-resolution- screen resolution in pixels by pixels by bit depth (i.e., 1920x1080x32)
  • geo-location – floating point latitude and longitude values (i.e., 56.946203,24.104287)
  • compatible-engine – the engine name (i.e., AppleWebKit/525.13)
  • proxy-name – proxy servers could append their name (i.e., Squid/3.1.20)

It’s not far from what we have today, but the problem is that every browser is Mozilla now days.

So it might look like this, for example: Chrome/20.0.1132.57 (WindowsXP/5.1.2600; utf-8; lv_LV; 1920x1200x32; 56.946203,24.104287) AppleWebKit/536.11 Squid/3.1.20

 

Leave a Reply

Your email address will not be published. Required fields are marked *