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

然后出现了一个新的网页浏览器。“Mozilla”,事实上就是“Mosaic终结者”的意思,这搞的Mosaic非常不爽,(毕竟Mosaic出道早。江湖老),为了避免与NCSA的法律纠葛。新浏览器最后改名为Netscape,它把自己标称为Mozilla/1.0
(Win3.1),更好玩了。Netscape支持框架显示。后来框架在大家中间流行起来了,但Mosaic不支持框架啊,于是伟大的“用户代理人探測”(User-Agent)技术出现了。假设是“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。这个世界更混乱了。

AppleWebKit/85.7 (KHTML, like Gecko)Safari/85.5,这个世界更混乱了。

Microsoft越来越操心Firefox的发展,又一次启动了InternetExplorer的开发,标称自己为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字符串彻底混乱了。也差点儿不再发挥不论什么作用,每一个人都宣称自己是别人,混乱充斥人间啊



版权声明:本文博客原创文章,博客,未经同意,不得转载。

Mozilla5.0的含义的更多相关文章

  1. JS中javascript:void(0)真正含义

    对于下面的代码,其中void(0)的含义是什么? <a href="javascript:Test();void(0);">hello</a> 其实,Jav ...

  2. 在Qt示例项目的C ++ / QML源中的//! [0]的含义是什么?

    在Qt示例项目的C ++ / QML源中的//! [0]的含义是什么? 例如:  //! [0] GLWidget :: GLWidget(Helper * helper,QWidget * pare ...

  3. 转:js中javascript:void(0) 真正含义

    from:http://www.jb51.net/article/71532.htm 在Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. 我想使用过ajax的都常 ...

  4. js javascript:void(0) 真正含义

    我想使用过ajax的都常见这样的代码:<a href="javascript:doTest2();void(0);">here</a>但这儿的void(0) ...

  5. javascript:void(0) 真正含义

    大家常见这种代码: <a href="javascript:doTest2();void(0);">here</a> 但这儿的void(0)到底是何含义呢? ...

  6. Linux中shell变量$0,$?等含义

    linux中shell变量$#,$@,$0,$1,$2的基本含义: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...

  7. ((void *) 0)的含义和void的一些细节

    一.在c语言中,0是一个特殊的值,它可以表示:整型数值0,空字符,逻辑假(false).表示的东西多了,有时候不好判断.尤其是空字符和数字0之间. 为了明确的指出,0是空字符的含义,用用到了: (() ...

  8. JS中void(0)的含义

    看别人些的JavaScript脚本可以看到这样的代码: <a href="javascript:doTest2();void(0);">here</a> 但 ...

  9. javascript:void(0);的含义以及使用场景

    一.含义: javascript:是伪协议,表示内容通过javascript执行. void(0)表示不作任何操作. 二.使用场景 1.href=”javascript:void(0);” 作用:为了 ...

随机推荐

  1. 《深入浅出 Java Concurrency》—锁紧机构(一)Lock与ReentrantLock

    转会:http://www.blogjava.net/xylz/archive/2010/07/05/325274.html 前面的章节主要谈谈原子操作,至于与原子操作一些相关的问题或者说陷阱就放到最 ...

  2. Ansible@一个高效的配置管理工具--Ansible configure management--翻译(八)

    如无书面授权,请勿转载 第四章,大型项目中Ansible的使用 Roles If your playbooks start expanding beyond what includes can hel ...

  3. Conversion to Dalvik format failed with error 1

    主要和添�的第三方的包有关系. ======================================= 出现,Conversion to Dalvik format failed with e ...

  4. Python学习入门基础教程(learning Python)--3.1Python的if分支语句

    本节研究一下if分支语句. if分支语句是Python下逻辑条件控制语句,用于条件执行某些语句的控制操作,当if后的条件conditon满足时,if其下的语句块被执行,但当if的控制条件condito ...

  5. J2EE请求和响应—Servlet

    一.什么是Servlet? Servlet是执行Webserver上的一个特殊Java类.其特殊用途是响应client请求并做出处理.使得client与server端进行交互. 二.生命周期  Ser ...

  6. ProductHunt,TechCrunch和AppStore的差的值

    ProductHunt(产品狩猎)硅谷社区的新产品,起初只存在一个技术性的房子维修.然后进入YC训练营已经收到了几百美元的融资2. 这款产品的形式非常easy.粗产物似乎是一个节目的部位,加上一些评论 ...

  7. 普通的年轻状态机,纯C语言

    我们第一次接触到了状态机.在数字电路课程.计数器.串行奇偶校验.考了1连续报错电路 等待,两者都需要一个状态机模型.电路实现这些功能,与状态机的状态转移图.状态转移表是等价. 后.然后,我们联系了状态 ...

  8. C++ 操作 MySQL

    使用VS2008如IDE, 准备操作: 1. 项目属性  C++ 其他包括文件夹 为 mysql 安装文件夹的include 如:"C:\Program Files (x86)\MySQL\ ...

  9. template method pattern

    //DataViewer.cs using System; namespace TemplateMethodSample { abstract class DataViewer { //抽象方法:获取 ...

  10. 【SICP读书笔记(五)】练习2.32 --- 递归求集合子集

    题目内容: 我们可以将一个集合表示为一个元素互不相同的表,因此就可以将一个集合的所有子集表示为表的表.例如,假定集合为(1,2,3),它的所有子集的集合就是( () (3) (2) (2 3) (1) ...