最早的时候有一个浏览器叫NCSA Mosaic,把自己标称为NCSA_Mosaic/2.0 (Windows 3.1),它支持文字显示的同时还支持图片,于是Web开始好玩起来。

  然后出现了一个新的网页浏览器,“Mozilla”,其实就是“Mosaic终结者”的意思,这搞的Mosaic很不爽,(毕竟Mosaic出道早,江湖老),新浏览器最后正式公布的名称是Netscape,它把自己标称为Mozilla/1.0 (Win3.1),更好玩了。Netscape支持框架显示,后来框架在大家中间流行起来了,但Mosaic不支持框架啊,于是伟大的“用户代-理人探测”技术出现了,如果是“Mozilla”,那就发给支持框架的页面,至于其他的浏览器,则发给不含框架的页面。

  Netscape想逗Microsoft玩儿,把Windows叫做“几乎不曾做过调试的设备驱动器”,后者很恼火。Microsoft于是推出了自己的 网页浏览器,叫做Internet Explorer,希望它能成为“Netscape终结者”。Internet Explorer也支持框架,但它不是Mozilla啊,所以没人给它发送带有框架的页面。Microsoft慢慢烦躁起来,不再寄希望于网站管理员逐渐 认识IE并给它发框架,而是宣称自己是“兼容Mozilla”的,开始模仿Netscape,把自己标称为Mozilla/1.22 (compatible; MSIE 2.0; Windows 95),这样Internet Explorer也能收到框架了,整个Microsoft狂喜,但网站管理员开始有点被搞糊涂了。

  Microsoft把IE和Windows一起卖,并且把产品也弄得比Netscape更好了,拉开了第一场浏览器之战。结果和大家知道的一样,Netscape被干掉了,Microsoft大胜、大喜。但是后来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扩张迅速,一些浏览器使用了它的代码并标称为Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040825 Camino/0.8.1 ,这是一个,还有Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.8) Gecko/20071008 SeaMonkey/1.0,另一个,它们都伪装成Mozilla,同时也都是基于Gecko支持的。

  Gecko表现优秀,IE则很差劲,于是身份甄别再次发生,输送给Gecko的是设计良好的网页代码,其他浏览器就没有这个待遇了。Linux的跟随者很伤心,因为他们创建了基于KHTML引擎支持的Konqueror,但却不会被输送好代码,虽然他们自己认为KHTML和Gecko一样优秀,于是Konquerer开始伪装自己“像Gecko”那样以得到好的网页,并标称自己为Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko),这个世界更让人困惑了。

  后来出现了Opera这样的主儿,宣称“允许用户自己决定让浏览器装成谁”,它的菜单中提供了Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.51, Mozilla/5.0 (Windows NT 6.0; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.51,Opera/9.51 (Windows NT 5.1; U; en) 供大家来选择,选谁是谁。

  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,这个世界更混乱了。

  Microsoft越来越担心Firefox的发展,重新启动了Internet Explorer的开发,标称自己为Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) ,可以很好的渲染代码,但那要看网站管理员是否指示它这么做。

  Google也开发了自己的浏览器Chrome, 使用了Webkit,有点像Safari,希望能得到为Safari编写的网页,于是决定装成Safari。这样啊,Chrome使用了WebKit渲染 引擎,想装成Safari,而WebKit呢又伪装自己是KHTML,KHTML呢又是伪装成Gecko的,同时所有的浏览器又都宣称自己是 Mozilla,于是,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,,UserAgent字符串彻底混乱了,也几乎不再发挥任何作用,每个人都宣称自己是别人,混乱充斥人间啊。

  有点调侃的味道,可以总结为一句话:Mozilla是Netscape的吉祥物,也是Netscape Navigator浏览器使用的内部开发代号。由于Netscape早期的影响力,直到今天,所有浏览器包括IE,向Web服务器报告自己的浏览器标识的 时候,都以 “Mozilla”开头,表明自己是Mozilla兼容的。这,就是原因啦。

  查看浏览器标记的方法也很容易,通过JavaScript语句:

  javascript:alert(navigator.userAgent)

  在地址栏输入以上代码,然后回车。

转载于:https://www.cnblogs.com/summer0319/p/6493045.html

navigator.userAgent 取值都带有Mozill的原因。看完我笑了相关推荐

  1. 二本学医还是学计算机,二本医学院毕业的医学生,最后都去了哪里?看完莫名心酸!...

    原标题:二本医学院毕业的医学生,最后都去了哪里?看完莫名心酸! 网友一: 就拿我们县的情况来说吧,二本医学院的市级医院一般很难进,除非你有一定的关系.前几年一般能进我们县医院,我们县医院改制的不错,环 ...

  2. 手机节省流量的小妙招,2种方法都能够节省不少,看完记得分享哦

    手机节省流量的小妙招,2种方法都能够节省不少,看完记得分享哦 我们在使用手机时,是不是会遇到手机流量不够用的情况,没有流量无法上网的日子,真的还是很难受的,那么今天小酱就和大家分享两种节省流量的小妙招 ...

  3. 全国最搞笑的名字都在这了,看了不准笑!

    取‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍名是个艺术活,更是技术活!现在很多年轻的父母给孩子起名的时候都十分的坑孩,一些奇葩搞笑的名字真是让人哭笑不得,比如下 ...

  4. 为何 navigator.appName 的值都是 netscape?

    来源:https://developer.mozilla.org/zh-CN/docs/Web/API/NavigatorID/appName 原文:   The NavigatorID.appNam ...

  5. Redis都有哪些监控指标,看完你就懂了!

    监控指标 性能指标:Performance 内存指标: Memory 基本活动指标:Basic activity 持久性指标: Persistence 错误指标:Error 性能指标:Performa ...

  6. string 引用没有设置为 string 的实例。 参数名: s_Java中的值传递和引用传递,看完这篇终于终于明白了!...

    当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?  答:是值传递.Java 编程语言只有值传递参数.当一个对象实例作为一个参数 ...

  7. 程序员分前端与后端,那么后端程序员都做些什么?看完你就明白了!

    我刚开始做Web开发的时候,根本没有前端,后端之说. 原因很简单,那个时候服务器端的代码就是一切:接受浏览器的请求,实现业务逻辑,访问数据库,用JSP生成HTML,然后发送给浏览器. 即使后来Java ...

  8. 那些虐哭过你的大学数学课都有什么用处?看完后恍然大悟!

    导读:高等数学有什么用?很多人都在问这个问题.其实大多数人在问这个问题的时候,心里已经预设了否定的答案.确实,对于大多数人来说,已经发展到了连数字都基本很少用了的一些高等数学分支,是过于虚无飘渺了.但 ...

  9. JVM探究:全面解析OOM异常,都在这了,看完再也不怕遇到了

    在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM)异常的可能.本节探究主要基于jdk1.8的内存结构. 1. Jav ...

最新文章

  1. 新版 apache_2.0.54 php-5.0.4 mysql-4.1.12a 组合安装向导(原创)
  2. CentOS 6.7 RPM安装MySQL
  3. Taro+react开发(63) 修改蓝湖的样式
  4. 「轻松转换」专业的PDF转换Excel软件:PDF to Excel Converter for Mac
  5. SAP HANA如何在存储过程中使用自定义的table type
  6. php公共控制器,Thinkphp 3.2.3 公共控制器的使用
  7. android 最全的shape属性
  8. Vue中watch监听数据变化以及watch中各属性详解
  9. (一)、apache doris 介绍
  10. Android X86上运行基于ARMARM处理器的应用程序
  11. 题8.13:写一个用矩形法求定积分的通用函数,分别求$\int_0^1 sinxdx, \quad \int_0^1 cosxdx, \quad \int_0^1 e^xdx,$
  12. MATLAB用相干解调DSB信号,AM DSB信号解调的MATLAB实现
  13. 关于“类包含显式重写ctor”的解决方法
  14. 吴裕雄--天生自然 诗经:鹊踏枝·谁道闲情抛弃久
  15. [leetcode]179 Largest Number
  16. BICC承载建立方式
  17. AutoCAD Civil 3D-曲面-曲面对象转换成AutoCAD三维实体
  18. 【Linux进程】Linux进程
  19. 总结做SEO没效果,这些点你考虑过吗?
  20. 强化学习中的递归神经网络

热门文章

  1. 树莓派python教程_两个简易的树莓派初学者Python程序
  2. str与dict与eval的结合妙用
  3. 打印表格_表格怎么打印出来
  4. 2019编译ffepeg vs_2020/5-Win10下ffmpeg最简编译方法
  5. linux系统如何安装其他包,Linux系统下如何安装软件包
  6. 【企业管理】2019年12 月 每日花语
  7. 【大连】2021年下半年软考报考时间及通知
  8. 【山西】2021年下半年软考报考时间及通知
  9. gradle转maven
  10. myeclipse优化