澳洲ZT: History of the user-agent browser string

在澳大利亚英语学习




http://www.webaim.org/blog/user-agent-string-history/

警告!非IT专业人士慎入,内有大量专业词汇,非IT人士阅读时有可能产生头晕,晨吐,乏力,挑食,拉肚子等等症状,特此警告

Now you've been warned...I read this a while back and still remember how well written it is, both in term of technology and English literacy - this is a masterpiece. Therefore I'd like to post it here...I'm sure everybody can learn a thing or two from it!

评论
History of the browser user-agent string
September 3, 2008

by Aaron Andersen

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.

And behold, then came a new web browser known as “Mozilla”, being short for “Mosaic Killer,” but Mosaic was not amused, so the public name was changed to Netscape, and Netscape called itself Mozilla/1.0 (Win3.1), and there was more rejoicing. And Netscape supported frames, and frames became popular among the people, but Mosaic did not support frames, and so came “user agent sniffing” and to “Mozilla” webmasters sent frames, but to other browsers they sent not frames.

And Netscape said, let us make fun of Microsoft and refer to Windows as “poorly debugged device drivers,” and Microsoft was angry. And so Microsoft made their own web browser, which they called Internet Explorer, hoping for it to be a “Netscape Killer”. And Internet Explorer supported frames, and yet was not Mozilla, and so was not given frames. And Microsoft grew impatient, and did not wish to wait for webmasters to learn of IE and begin to send it frames, and so Internet Explorer declared that it was “Mozilla compatible” and began to impersonate Netscape, and called itself Mozilla/1.22 (compatible; MSIE 2.0; Windows 95), and Internet Explorer received frames, and all of Microsoft was happy, but webmasters were confused.

And Microsoft sold IE with Windows, and made it better than Netscape, and the first browser war raged upon the face of the land. And behold, Netscape was killed, and there was much rejoicing at Microsoft. But Netscape was reborn as Mozilla, and Mozilla built Gecko, and called itself Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826, and Gecko was the rendering engine, and Gecko was good. And Mozilla became Firefox, and called itself Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0, and Firefox was very good. And Gecko began to multiply, and other browsers were born that used its code, and they called themselves Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040825 Camino/0.8.1 the one, and Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.8) Gecko/20071008 SeaMonkey/1.0 another, each pretending to be Mozilla, and all of them powered by Gecko.

And Gecko was good, and IE was not, and sniffing was reborn, and Gecko was given good web code, and other browsers were not. And the followers of Linux were much sorrowed, because they had built Konqueror, whose engine was KHTML, which they thought was as good as Gecko, but it was not Gecko, and so was not given the good pages, and so Konquerer began to pretend to be “like Gecko” to get the good pages, and called itself Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko) and there was much confusion.

Then cometh Opera and said, “surely we should allow our users to decide which browser we should impersonate,” and so Opera created a menu item, and Opera called itself Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.51, or Mozilla/5.0 (Windows NT 6.0; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.51, or Opera/9.51 (Windows NT 5.1; U; en) depending on which option the user selected.

And Apple built Safari, and used KHTML, but added many features, and forked the project, and called it WebKit, but wanted pages written for KHTML, and so Safari called itself Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5, and it got worse.

And Microsoft feared Firefox greatly, and Internet Explorer returned, and called itself Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) and it rendered good code, but only if webmasters commanded it to do so.

And then Google built Chrome, and Chrome used Webkit, and it was like Safari, and wanted pages built for Safari, and so pretended to be Safari. And thus Chrome used WebKit, and pretended to be Safari, and WebKit pretended to be KHTML, and KHTML pretended to be Gecko, and all browsers pretended to be Mozilla, and Chrome called itself Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13, and the user agent string was a complete mess, and near useless, and everyone pretended to be everyone else, and confusion abounded.

[ 本帖最后由 bulaohu 于 2008-12-4 16:35 编辑 ]

评论
Haha, funny.

评论
and very, very informative. I was a web programmer before and I never found much information about the stories behind all these weird User-Agent strings, until I came across this article...

评论
I have used(tried) all these apart from the original mosaic

Netscape 1.0... hummm yummm

评论
我费了半天劲把这么一大篇看完了,发现就最有一句最有用:

the user agent string was a complete mess, and near useless, and everyone pretended to be everyone else, and confusion abounded.

评论
如果再算上wap browser,估计这个user agent string还得再多点。。

评论
Lucky you didn't have to touch web programming! You know how it has been growing at blinding speed in the last 10 years...what you knew yesterday might become totally irrelevant within 3 months...and this article gives everyone a peek into the madness that has happened, and is still happening...

评论


哈哈。。不过我倒是还认认真真做过好一阵web programming, DHTML/CSS/Javascript...现在大家讲AJAX..我在2001年时候就用xmlhttp了,那时候貌似还没听说有人干这个。。

不过,浏览器兼容性这个玩意真是搞的人头大的不行。。。

[ 本帖最后由 rogerk 于 2008-12-4 16:56 编辑 ]

评论
2001年的时候xmlhttp还真没多少人碰,现在?整个Google Maps都是build on top of xmlhttprequest, which happens to be something founded by Microsoft......



评论


是的。。而且我认为这个是个正确的路子。。浏览器成为一个运行平台。xmlhttp就是在背后用来进行通讯的组件。

啥时候浏览器再加上vector graphics,那就太好了。。

评论
Vector Graphics is already here, in the form of Flash or Silverlight...I'm actually not sure if an open standard for VG is a good idea...a bit commercial competition in this space might be what consumers really need.
澳洲中文论坛热点
悉尼部份城铁将封闭一年,华人区受影响!只能乘巴士(组图)
据《逐日电讯报》报导,从明年年中开始,因为从Bankstown和Sydenham的城铁将因Metro South West革新名目而
联邦政客们具有多少房产?
据本月早些时分报导,绿党副首领、参议员Mehreen Faruqi已获准在Port Macquarie联系其房产并建造三栋投资联

英语学习

英语学习

约翰逊辞职演说 -

澳大利亚英国前首相Boris Johnson辞职演说中提到了这个短语 -- them's the breaks 通常正式场合是不太使用这样非正式的用语 根据Linguaholic的解释,这个短语通常用在 Something unfair or unpleasant happens and ...

英语学习

notice boards: always look on the bright side of life

澳大利亚1\always look on the bright side of life 乐观生活 2\fire exit , do not obstruct 消防通道,不要阻塞; 3\footpath under construction 行人道正在兴建 4\private property pedestrian traffic is welcome at own risk 私人物业欢迎 ...

英语学习

错过了一个亿,英语怎么表达?

澳大利亚以前老外调侃过类似的表达,大概是错过了免费的冰淇淋,感觉错过了一个亿 但不记得他们怎么说了 评论 Lost a fortune 评论 一般要么是lost a million或lost a billion,反正不会说lost 100 milli ...

英语学习

请问 找老板报销 怎么说?

澳大利亚就例如用自己的钱给公司买了些东西,跟老板怎么说报销呢? 谢谢! 评论 expense? 评论 马泥马泥 评论 Reimbursement of miscellaneous items 评论 reimbursement or expense 比如: Can I reimburse my expens ...

英语学习

小白学习英语的好方法

澳大利亚新概念英语1-4册是火了20年的教材,经久不衰,app store下载软件,每天跟读,也就是shadow,纠正自己的发音,这是很好的学习方法 评论 如果你在学第一册和第二册,可以用这套教材。如 ...

英语学习

英语求助

澳大利亚一个同事要请假,发了下面这段话,”if the water and flooding levels drop here in SA I want to go away at this time so thought I’d book now” 这里他说的是洪水到了南澳的意思,还是说洪水水位下降的意思 ...

英语学习

学英语贵在坚持

澳大利亚但是坚持是最难的 评论 有兴趣就不难了 评论 持之以恒,定能成功。 加油 评论 you are right.Nothing in the world can take the place of Persistence. 评论 Yes,Persistence is hardest 评论 学英语贵不在坚持。 ...

英语学习

英文的书引号怎么写?

澳大利亚The title of the book is 1001 nights. 可不可以? 评论 书引号? 书名号? 双引号? 可以不加双引号, The title of the book is 1001 nights. 评论 觉得更好的方式可能是搜key words: how to quote a book [name] 当然简单 ...

英语学习

问一个英语问题,请指教

澳大利亚Condition:The student is not a patient of the GP. 我女儿 在 三年前是病人,但是不去看了。算不算仍是那个GP的病人。 The student was a patient of the GP. The student is no longer a patient of the GP 评论 一定要找 ...

英语学习

一个英语新闻的阅读理解

澳大利亚在另一个帖里,有人说打了疫苗比不打疫苗更容易感染新的omicron变种。他引用了这则新闻。我读到的意思是新变种比旧变种更容易感染打过疫苗的人。 “It appears to have same intrinsic tran ...

英语学习

请问这句话如何理解?很困惑。。。

澳大利亚address as recorded on the electoral roll for the past 12 months 理解1:在过去12个月地址必须都在选民名册上,意思是这个地址在选民名册上要有12个月之久 理解2:在过去12个月选民名册上有这个地址 ...

英语学习

请问tafe的英语课程怎么报,收费吗

澳大利亚刚来澳洲,很想学习英语,但是不知道tafe的英语怎么报名,费用多少,谁知道麻烦告知一下 评论 要看你是什么签证。不过任何给移民的英语课程就是一个入门课程而已。这个国家没有 ...