浏览器|微软带头打了30年,这场屏幕里的大乱斗,终于要结束了( 二 )


但很可惜 , IE 当时还是一个 “ 新生儿 ”, 尽管它支持高特性的网页 , 但网站却没有给 IE 做适配 , 给它返回的是普通网页 。
可是 IE 已经等不及了 , 它迫切的提想要打败网景 , 夺下这片市场 , 所以它决定 ——来骗 。
你不是通过识别 UA 来判断返回什么网页么?好 , 那我就披一层网景的衣服 , 假装是网景 , 骗你给我高特性的网页!
靠着种种手段 , 比如捆绑销售 , IE 的占有率节节攀升 , 到 IE 4.0 的时候 , 微软基本上是把网景打趴下 。
IE 4.0 ▼

但网景也没有完全认输 , 在被收购之前公开了源代码 , 还用最初开发代号 Mozilla 创建了 Mozilla 组织 。
火狐浏览器就是这个组织的产物 。
为了跟之前的网景浏览器相区分 , 火狐在之前 UA 的基础上 , 加入了自己的标识:Firefox。
【浏览器|微软带头打了30年,这场屏幕里的大乱斗,终于要结束了】同时 Mozilla 还写了一个叫 Gecko 的排版引擎 , 这个渲染引擎非常厉害 , 火狐也把它加入到了自己的 UA 之中 。

跟前面一样 。。
网站也知道用 Gecko 引擎的浏览器会比较厉害 , 花活比较多 , 于是会为它准备更高级的页面 , 为其他浏览器准备普通页面 。
其他浏览器也很苦恼 , 从技术层面我们明明也能实现这些 , 只是网站没给机会 , 于是也开始伪造 “ 身份证 ” 。
戏剧性的一幕出现了:所有浏览器都开始伪装自己是 Mozilla。
首先是 Linux 的追随者 , 他们编写了 Konqueror , 引擎是 KHTML 。
这群人认为 KHTML 跟 Gecko 一样好 , 但是网站却不给他们返回好的页面 , 于是开始伪装自己 , 还在 UA 里写下我们跟 Gecko 一样好~
UA = Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD)
(KHTMLlike Gecko)

而苹果家的 safari 呢 , 它基于 KHTML 引擎 , 但是加了新的特性 , 所以另起炉灶叫自己 WebKit。
但同时 , 他也不想失去那些为 KHTML 编写的东西 , 所以它也选择延续前面的 UA, 再加一点标识 。。。
Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de)AppleWebKit/85.7 (KHTML like Gecko)Safari/85.5
而咱们现在最常用的 Chrome 浏览器呢 , 则是基于 WebKit 开发的 , 但也是做了修改 , 跟前人一样 , 也不想失去那些为 WebKit 编写的东西 。
于是在 UA 中 , 他把自己伪装成这样 。。。
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
总之 , 无限套娃 。
最后 , 人人都不是 Mozilla , 人人都是 Mozilla 。
围绕 UA 的骚操作还有很多 , 比如有些人明明用的是手机浏览器刷网页 , 但会通过修改 UA, 骗网站:“ 我是电脑!给我发对应的网页来 ”~
这样一来 , 就能规避手机网页中那些 “ 打开 XX APP , 查看全部 XX 评论 ” 的拦截了 。

比如之前优酷对 iPhone 端的浏览器是不提供视频广告的 。
于是乐视浏览器就通过修改 UA, 骗优酷自己是 iPhone, 以获取没有广告的优酷视频 。

除了离谱的 UA 之外 , 浏览器之间因为各自为营 , 还衍生了各种 “ 兼容模式 ”, “ 兼容插件 ”。
哎 , 为什么 , 直到现在浏览器才想起来要 “ 统一标准 ” 这件事儿呢?
嗯 。。。 差评君猜测主要是两方面 。。。
一方面是公开统一的标准推行起来很慢 , 毕竟涉及到的厂商很多 , 而厂商们为了迅速抢占市场 , 往往会想要 “ 立刻 ” 提升用户体验 。
另一方面是 , 如果大家都统一 , 就失去了自己独特的优势 , 从产品沦为工具 。
而在现在浏览器主要功能都大差不差 , 趋向稳定 , 很难在技术上有跨时代的突破 , 再纠结于自家标准 , 意义已经不大了 。 更多的是给程序员 , 给用户带来的不便 , 还不如走向统一 。
而曾经围绕 IE 浏览器的打响的 , 属于电脑屏幕中的两次 “ 世界大战 ”, 也以群雄割据 , 统一标准的局面走向了尾声 。