The History of the Browser User Agent

I came across this very old arti­cle on the his­to­ry of the web brows­er user agent string via OS News.

And behold, then came a new web brows­er known as “Mozil­la”, being short for “Mosa­ic Killer,” but Mosa­ic was not amused, so the pub­lic name was changed to Netscape, and Netscape called itself Mozilla/1.0 (Win3.1), and there was more rejoic­ing. And Netscape sup­port­ed frames, and frames became pop­u­lar among the peo­ple, but Mosa­ic did not sup­port frames, and so came “user agent sniff­ing” and to “Mozil­la” web­mas­ters sent frames, but to oth­er browsers they sent not frames.

Of course its a lot worse now. My cur­rent brows­er says the fol­low­ing :

Mozilla/5.0 (Mac­in­tosh; Intel Mac OS X 10_12_6) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6

For this unfa­mil­iar, this is a line of text a web brows­er sends to a web­site to iden­ti­fy itself, what soft­ware it is, and what ver­sion etc. Except that for com­pat­i­bil­i­ty, they all lie a bit to try to get the best web pages pos­si­ble.

Brows­er sniff­ing has, for a long time, not been con­sid­ered the right way to assess capa­bil­i­ties, and its utter­ly unre­li­able. Some­where I once saw it referred to as the biggest lie in soft­ware. The best prac­tice is to use fea­ture detec­tion, and try to use grace­ful degra­da­tion.

I do find it fun­ny though that browsers essen­tial­ly repeat the whole his­to­ry of inter­net web browsers with them, attach­ing the var­i­ous bits of web his­to­ry till even­tu­al­ly, some tech peo­ple will won­der what Mozil­la at the begin­ning of the brows­er string real­ly means.

Leave a Reply