张大胖初学Web开发, 遇到了一个古怪的东西:

 漫画 | 浏览器一个比一个“无耻”-LMLPHP

  

这个User Agent字符串之所以这么古怪, 要从20多年前的Mosaic说起。

1993年,在伊利诺伊大学的国家超级计算中心(NCSA),第一个支持图片的浏览器Mosaic诞生了!

 漫画 | 浏览器一个比一个“无耻”-LMLPHP

不久,开发Mosaic的骨干Marc Andreessen前往硅谷,开始创业, 开发了一个叫Mozilla的浏览器

漫画 | 浏览器一个比一个“无耻”-LMLPHP

 伊利诺伊大学和NCSA对Marc Andreessen的所作所为很不高兴, 于是Mozilla被改名为Netscape。

 漫画 | 浏览器一个比一个“无耻”-LMLPHP 

可以看出,无论是Mosaic还是Netscape,它们的User Agent还是很清爽的。

漫画 | 浏览器一个比一个“无耻”-LMLPHP

不同的浏览器有不同的能力,于是在服务器端发展出了User Agent 嗅探技术。

 漫画 | 浏览器一个比一个“无耻”-LMLPHP 

Netscape风靡网络,这让当年的软件霸主微软感受到了巨大的威胁, 微软推出了自己的浏览器Internet Explorer,希望成为Netscape Killer。

 漫画 | 浏览器一个比一个“无耻”-LMLPHP 

IE等不及了, 它决定假装自己就是Mozilla !

 漫画 | 浏览器一个比一个“无耻”-LMLPHP

IE的欺骗成功了 !

 漫画 | 浏览器一个比一个“无耻”-LMLPHP

微软通过在Windows上捆绑IE, 迅速把Netscape 击败。

 漫画 | 浏览器一个比一个“无耻”-LMLPHP 

正面战场搞不过微软, Netscape决定另辟蹊径:开源

 新的Mozilla 诞生了,与此同时,它还拥有了一个叫做Gecko的渲染引擎

 漫画 | 浏览器一个比一个“无耻”-LMLPHP 

然后Mozilla变成了Firefox 。

 漫画 | 浏览器一个比一个“无耻”-LMLPHP

 Gecko这个渲染引擎很厉害,很多浏览器开始使用它。

漫画 | 浏览器一个比一个“无耻”-LMLPHP

 Gecko 被广泛认可, 服务器又开始进行User Agent 嗅探了

漫画 | 浏览器一个比一个“无耻”-LMLPHP

此时Linux刚搞了一个叫做Konqueror 的浏览器, 用的是自家的KHTML渲染引擎

漫画 | 浏览器一个比一个“无耻”-LMLPHP 

于是,Konqueror 在User Agent中也做了点手脚。

 漫画 | 浏览器一个比一个“无耻”-LMLPHP

漫画 | 浏览器一个比一个“无耻”-LMLPHP

Apple 也决定搞一个自己的浏览器Safari ,它基于KHTML,创建了新的渲染引擎 Webkit

 漫画 | 浏览器一个比一个“无耻”-LMLPHP

最后,Google也来了,它想做一个叫做Chrome的浏览器, 也基于WebKit引擎。

 漫画 | 浏览器一个比一个“无耻”-LMLPHP

 这就是你看到的奇怪的User Agent的来历。

更多精彩技术漫画,欢迎关注公众号 “码农翻身

漫画 | 浏览器一个比一个“无耻”-LMLPHP

07-02 08:36