浏览器的那些事

原创 molongv 随笔 心法 205阅读 2018-01-09 15:36:35 举报

真正的第一个浏览器名字叫 NCSA Mosaic,紧接着也出现了一个 Mozilla 的浏览器 (Mozilla 的意思是 Mosaic 终结者) 。

   后来 Mozilla 的正式发布版本是 Netscape,他把自己标称为Mozilla/1.0 (Win3.1),由于 Netscape支持框架显示,框架很快流行了起来,但Mosaic不支持框架。所以网站管理员们则通过 User-Agent 判断,如果是Netscape浏览器则进入框架(html frame)的页面,如果不是Netscape 浏览器则进入没有框架的页面。

   有趣的事情发生了!Netscape 没有风光多久,微软也推出了自己的 IE浏览器 。IE浏览器也支持框架,但是很遗憾,网站管理员们不认识它呀!因为IE的 User-Agent,没有Mozilla标识,所以没有人理它。后来微软沉不住气了,不就只认User-Agent 里有 Mozilla 标识字符的浏览器么,呵呵哒,于是对外宣称自己可以“兼容Mozilla”,开始模仿Netscape,伪装标识为Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)。这样一来 IE 也有了Mozilla 标识(其实是伪装的) 所以那些框架该看的,也能看到了。

   再后来,微软把浏览器捆绑到windows系统里一起卖,于是就爆发了浏览器大战。结果可想而知,Netscape失败了,微软大胜。至今微软的IE依然影响着 w3c 影响着所有浏览器,恶心着程序猿。

   Netscape 虽然惨败,但很快就重生了。Mozilla 构造了优秀的Gecko,并标识为Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826,Gecko属于渲染引擎,表现优异。Mozilla开发了Firefox,标称为Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0,并且Firefox表现也非常优秀。值得欣慰的是,由于 Gecko 的优秀,网站管理员们会判断浏览器是否是 Gecko 的,如果是则把更先进 更漂亮页面显示给这个浏览器,其他浏览器就没有这个待遇了。

   看到 Gecko 能显示这么nice的页面,Linux 平台的熊孩子们坐不住了。虽然,他们创建了基于KHTML引擎支持的Konqueror,和 Gecko 一样,有着优秀的渲染能力。但因不带Gecko标识,不被识别。于是Konquerer开始伪装自己“像Gecko”那样以看到更nice的网页,并标识自己为 Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD)(KHTML, like Gecko),这个世界从此就开始疯狂了。

例如:
1、Apple开发了Safari,使用了KHTML,同时也增加了很多新特性,后来另起炉灶叫了WebKit,但是它有希望能够看到那些为KHTML编写的网页,于是Safari标称自己为Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5,navigator.userAgent以及navigator.appVersion 就更加混乱了。

2、Google也开发了自己的浏览器Chrome,使用了Webkit,有点像Safari,希望能看到为Safari编写的网页,于是决定装成Safari。Chrome使用了WebKit渲染引擎,想装成Safari,Chrome宣称自己是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

综上便知道了,IE伪装成 Mozilla ;webKit 伪装成 KHTML;KHTML 伪装成 Gecko;opera 伪装成上面任何浏览器;同时所有的浏览器又都宣称自己是 Mozilla,

-----当前主流浏览器的最新内核一览:
IE:Trident
Firefox:Gecko
Chrome:Blink&&V8(渲染引擎 Bink、js引擎 V8,以前是和借的苹果壳webki

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复