为什么浏览器的用户代理字符串以 Mozilla 开头?
2018-03-06 00:00
489 查看
(点击上方公众号,可快速关注)
转自:Solidot,英文:Aaron Andersenhttps://www.solidot.org/story?sid=55694为什么浏览器的用户代理字符串(user-agent string)以 Mozilla 开头?
最早流行的浏览器是 NCSA Mosaic,它称自己为 NCSA_Mosaic/2.0 (Windows 3.1);
后来一个新浏览器出现了,它的名字叫 Mozilla,是 Mosaic Killer 的缩写。Mosaic 并不觉得这好笑,因此它改名为 Netscape,它称自己为 Mozilla/1.0 (Win3.1)。
Netscape 支持框架(frame),而 Mosaic 不支持,因此用户代理嗅探(User Agent sniffing)出现了,网站在检测到 Mozilla 后就发送框架,如果不是就不发送。后来微软开发了 IE,希望它成为 Netscape Killer,IE 也支持框架,但由于它不是 Mozilla,网站没有向它发送框架。微软没有耐心等待网站修改,而是声称它兼容于 Mozilla,因此冒充 Netscape 称自己为 Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)。第一次浏览器战争以 Netscape 的失利结束,但 Netscape 以 Mozilla 的名字获得了新生。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。因为 Gecko 好于 IE,因此用户代理嗅探又出现了,网站在检测到 Gecko 后会提供更好的页面代码。
Linux 上的浏览器 Konqueror 使用的渲染引擎是 KHTM,它只能冒充 Gecko 称自己为 Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko)。Opera 则提供了选项,让用户想冒充哪个浏览器就冒充哪个浏览器。苹果后来创建了 KHTML 的一个分支 WebKit,称自己为 Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5。这就是为什么浏览器的用户代理字符串以 Mozilla 开头。
看完本文有收获?请转发分享给更多人关注「程序员的那些事」,提升编程技能
相关文章推荐
- 为什么浏览器的用户代理字符串以 Mozilla 开头?
- 为什么浏览器的user-agent字符串以'Mozilla'开头呢?
- 为什么所有主要浏览器的 User-Agent 都是 Mozilla/x.0 开头?
- 为什么所有浏览器的userAgent都带Mozilla
- javascript浏览器用户代理检测脚本实现方法
- userAgent,JS这么屌的用户代理,你造吗?——判断浏览器内核、浏览器、浏览器平台、windows操作系统版本、移动设备、游戏系统
- 第三百二十八节,web爬虫讲解2—urllib库爬虫—状态吗—异常处理—浏览器伪装技术、设置用户代理
- 为什么浏览器User-agent总是有Mozilla字样——User-agent String里的历史故事
- 浏览器USER-AGENT(用户代理)的介绍
- 为什么浏览器User-agent(浏览器类型)总是有Mozilla字样?
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
- 为什么浏览器User-agent总是有Mozilla字样
- 为什么浏览器User-agent总是有Mozilla字样
- 为什么浏览器User-agent总是有Mozilla字样——User-agent String里的历史故事
- 客户端即(浏览器端的用户机器上)为什么还要装jre?
- 浏览器的用户代理字符串
- 为什么浏览器User-agent总是有Mozilla字样——User-agent String里的历史故事
- 第三百四十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过downloadmiddleware中间件全局随机更换user-agent浏览器用户代理
- 为什么浏览器User-agent总是有Mozilla字样——User-agent String里的历史故事
- userAgent,JS用户代理检测——判断浏览器内核、浏览器、浏览器平台、windows操作系统版本、移动设备、游戏系统