最早的时候有一个浏览器叫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. mysql表修改

    CREATE TABLE tab2 AS (SELECT * FROM tab1)这种做法表的存储引擎也会采用服务器默认的存储引擎而不是源表的存储引擎,此种复制方法把表的内容也一起复制过来了. CRE ...

  2. vim netrw

    我们现在试一下vim文件功能,当你使用vim尝试打开目录时,vim会自动调用netrw.vim插件打开该目录(从操作系统的视角来看,目录其实是一种特殊的文件).例如,我们在vim中执行命令”:e -/ ...

  3. cocos2d-x3.0 实现HTTP请求GET、POST

    HTTP请求实现 把以下代码拷贝到新创建的project中就能看到效果 HelloWorldScene.h #include "cocos2d.h" /*记得要引头文件*/ #in ...

  4. Android中TextView中内容不换行的解决方法

    问题 如果新建的Android项目采用的Android 3.0以上的SDK,同时采用了 <style name="AppTheme" parent="@androi ...

  5. 用JavaScript实现网页动态水印

    1.基本原理 页面加载后,通过javascript创建页面元素div,并在div元素中创建文本节点,展示水印内容 设置div元素样式,将其zIndex设置一个较高的值,并设置透明度,实现浮在页面的水印 ...

  6. osgi实战学习之路:3. osgi分层概念及相互合作demo

    源码下载 分层: modual: 主要作用于包级管理与共享代码 lifecycle: 主要作用于执行期间的模块管理与訪问osgi底层框架 service: 主要作用于多模块之间的相互通信 demo: ...

  7. CENTOS安装部署zabbix

    果学网 -专注IT在线www.prismcollege.com 參考原文:http://www.showerlee.com/archives/13 RHCE过的EMAIL已经下来.所以近期闲了就准备把 ...

  8. hdu 1394 Minimum Inversion Number(线段树之 单点更新求逆序数)

    Minimum Inversion Number                                                                           T ...

  9. Case learning

    bad case: <?php foreach($user_detail AS $val) { if(!empty($val->portrait)) { //假设这个循环从来没有到达过 $ ...

  10. RESTful API Design With NodeJS & Restify

    http://code.tutsplus.com/tutorials/restful-api-design-with-nodejs-restify--cms-22637 The RESTful API ...