Linked by Thom Holwerda on Tue 6th Mar 2018 00:17 UTC
Internet & Networking

In the beginning there was NCSA Mosaic, and Mosaic called itself NCSA_Mosaic/2.0 (Windows 3.1), and Mosaic displayed pictures along with text, and there was much rejoicing.

I've always wondered why every user agent string starts with Mozilla, and now I know. Fun read, too.

Order by: Score:
I laughed, then I cried
by Spiron on Tue 6th Mar 2018 03:02 UTC
Member since:

In my heart I knew this was the case but to see it written out just makes the devs all look petty. Then again though what exactly were they to do when the web-devs wouldn't update their sites to allow for browser changes. Now we have absolute monstosities of user-agent strings that are just ridiculous

Edited 2018-03-06 03:03 UTC

Reply Score: 3

Member since:

I think it was inevitable that the user agent string would cause more problems than it solved. It's not reasonable to expect websites to be able to know what types of content every version of every browser supports. It's far more reasonable to expect each version of a browser to be able to know what types of content it supports. A better approach might be to have websites announce what types of content they have available, and have browsers request what they can handle.

Reply Score: 5

nicubunu Member since:

Then the browsers would request everything anyway

Reply Score: 3

Old article
by nicubunu on Tue 6th Mar 2018 08:15 UTC
Member since:

So nothing new happened about UA strings in the last 10 years since the article was posted?

I cringed the most at "followers of Linux were much sorrowed, because they had built Konqueror[...] called itself Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD)"

Reply Score: 3

RE: Old article
by on Tue 6th Mar 2018 14:45 UTC in reply to "Old article" Member since:

Yes, the article is almost 10 years old. And to be honest, things only got worse ...

For instance, this is the user agent string of Safari on iPhone (see below).

So we have an iPhone, who pretends to be like Mac OS X, who pretends to be like Safari, who pretends to be like KHTML, who pretends to be like Gecko, who pretends to be like Mozilla ... :-)

Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1

Reply Score: 2

RE[2]: Old article
by ahferroin7 on Wed 7th Mar 2018 13:36 UTC in reply to "RE: Old article"
ahferroin7 Member since:

TBH though, it's really only graphical web browsers that are that bad consistently. For example, the Android HttpURLConnection class (used by Android apps who just want to fetch data from web servers) has a default UA string that looks like:

Dalvik/1.4.0 (Linux; U; Android 2.3.6; GT-S5570 Build/GINGERBREAD)

It tells you it's Dalvik and what version, ID's the OS, and tells you the model of the device and the build of Android.

Going even beyond that, most other things that aren't specifically web browsers just ID themself and their version (for example, 'Wget/1.19.4'), and a lot of text-mode browsers behave like that too.

Reply Score: 5

Y'all are young
by Bill Shooter of Bul on Tue 6th Mar 2018 15:14 UTC
Bill Shooter of Bul
Member since:

I lived though these user agent fights... not fun. Sucks. Things are kinda better? Javascript toolkits take care of most of the issues. But I don't JS client side that much anymore.

Reply Score: 3

This tweet thread sums it up:
by spudley99 on Tue 6th Mar 2018 15:20 UTC
Member since:
RE: This tweet thread sums it up:
by dungsaga on Wed 7th Mar 2018 06:00 UTC in reply to "This tweet thread sums it up:"
dungsaga Member since:

Thanks, this tweet from @AmeliasBrain is priceless:

I want to live in the world where this is the real reason for web browser's convoluted user-agent strings.

“Dearest server, I am Chrome, the 64th of that name, child of WebKit, grandchild of KHTML, a disciple of Gecko, follower of the great Mozilla/5.0, running on Windows NT 10”

Edited 2018-03-07 06:01 UTC

Reply Score: 4