浏览器 userAgent 历程

作者:vkvi 来源:ITPOW(原创) 日期:2019-6-12

Firefox userAgent 关键词:Mozilla、Gecko、Firefox

Safari userAgent 关键词:Mozilla、AppleWebKit(KHTML, like Gecko)、Safari

Chrome userAgent 关键词:Mozilla、AppleWebKit(KHTML, like Gecko)、Chrome、Safari

Opera userAgent 关键词:Mozilla、AppleWebKit(KHTML, like Gecko)、Chrome、Safari、OPR

IE 11 userAgent 关键词:Mozilla、like Gecko

Edge userAgent 关键词:Mozilla、AppleWebKit(KHTML, like Gecko)、Chrome、Safari、Edge

可以看出,基本上第一个关键词是 Mozilla,第二个关键词是引擎,后面的是浏览器名称,这些关键词是怎么来的呢?它们之间有什么联系呢?

1、最早有个浏览器叫 NCSA Mosaic。

2、然后 Netscape 出来了,给自己 userAgent 取名为 Mozilla(据说是 Mosaic 终结者的意思),Netscape 有一些新特性,网页制作者为了区分是哪种浏览器,就判断是否含有 Mozilla。

3、后来 IE 出来了,IE 也支持 Netscape 这些新特性,可是由于它没有 Mozilla 标识,所以网页制作者的新特性显示不出来,所以微软干脆也加上 Mozilla 标识。

4、然后 Netscape 被 IE 干死了,然后 Netscape 又以 Firefox 的身份复活了,当然 Mozilla 标识不能丢,这可是自己发明的呀,同时采用全新引擎 Gecko,所以 Firefox 浏览器的 userAgent 有三个关键词:Mozilla、Gecko、Firefox,其他基于 Gecko 的浏览器一般是:Mozilla、Gecko + 自己浏览器名称,或者:Mozilla、Gecko、Firefox + 自己浏览器名称。

5、Gecko 很优秀,所以网页制作者会鉴别是否包含 Gecko 标识。据说在 Linux 上有一个浏览器叫 Konqueror,其引擎是 KHTML,他们认为和 Gecko 一样优秀,但是网页制作者不认啊,他们只认 Gecko 标识 ,于是 KHTML 变成了“KHTML, like Gecko”,旨在告诉网页制作者,你给 Gecko 的代码,我也能运行,但是我不叫 Gecko,我叫 KHTML。

6、Safari 使用(也有可能是借鉴,具体我不清楚)了 KHTML 的引擎,并新增了一些东西,这个引擎叫 WebKit,所以它不能光叫“KHTML, like Gecko”,要不然我的新东西怎么体现呢,所以它取了个名字叫 AppleWebKit。

7、Chrome 使用的是 WebKit 引擎,具体我不知道这个 WebKit 和苹果的 WebKit 是不是一个东西,但是我觉得多半是。不管怎样,Chrome 也不愿意放弃给 Safari 制作的网页特性,毕竟 Safari 能干的,他也能干,所以它就干脆前面跟 Safari 一模一样了。有些网页制作者可能不是根据 WebKit 来判断,而是根据 Safari 来判断,所以 Chrome 把 Safari 也保留下来了,不过 Chrome 很聪明,它把 Safari 关键词排在了自己的后面。

8、Opera 自己放弃自己的引擎后,转投 Chrome 浏览器的引擎,当然其 userAgent 仅仅是在 Chrome 的后面加个 OPR(Opera)了。

9、IE 近年输得惨得很,所以 Edge 的 userAgent 再也不像 IE 11 那样独立独行,毕竟太少了,网页制作者的新特性在你浏览器都显示不出来,所以最终搞得别人一样,在 Chrome 后面加。

10、Firefox 的 userAgent 好孤单,别人都是高度相似。

相关文章