浏览器编年史与UserAgent大乱斗
- 1993
- 世界上第一个支持显示图片的浏览器Mosaic诞生
- 为了区分浏览器是否能显示图片,UserAgent诞生了,Mosaic将自己标志为NCSA_Mosaic/2.0(windows 3.1)
- 世界上第一个支持显示图片的浏览器Mosaic诞生
- 1994
- Netscape开发自己的第一款浏览器Mozilla
- 支持框架(frame),UserAgent标为Mozilla/1.0 (Win3.1)
- Netscape开发自己的第一款浏览器Mozilla
- 1995
- 微软收购Mosaic,开始开发Internet Explorer浏览器
- IE支持框架,为了能收到带框架的页面,把自己的userAgent标为Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)
- Opera诞生
- 1996
- Kongqueror浏览器诞生,基于早期KHTML引擎,主要应用于 Linux 和 BSD家族的操作系统
- 1997
- 从IE4.0开始,Trident内核正式诞生
- 1998
- KHTML内核诞生
- 后续由于Gecko的性能优于IE,为了得到设计良好的网页代码,将自己标为Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko)
- KHTML内核诞生
- 2000
- Netscape6开始采用Gecko内核,也就是后来的FireFox浏览器的内核
- 微软内部员工不满足IE不跟随W3C标准,与当时已经停止更新了的 Netscape的一些员工一起创办了Mozilla,以当时的Mosaic内核为基础重新编写内核,于是开发出了Gecko,把自己标为Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
- Netscape6开始采用Gecko内核,也就是后来的FireFox浏览器的内核
- 2003
- Opera 7.0使用了自主开发的内核Presto
- Apple公司基于KHTML开发了WebKit内核的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
- 2004
- Firefox浏览器正式诞生
- 2004年2月9日,Mozilla Firebird决定改称Mozilla Firefox,简称Firefox,将自己标为Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0
- Firefox浏览器正式诞生
- 2008
- Chrome公司基于WebKit开发了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
- Chrome公司基于WebKit开发了chrome浏览器
- 2013
- 2月Opera宣布放弃Presto,选择跟随Chrome公司使用webkit内核,后转为Blink内核
- 4月Chrome公司宣布使用Blink内核
- 2020
时间轴

参考资料:五大主流浏览器及四大内核
浏览器编年史与UserAgent大乱斗的更多相关文章
- GridView的 PreRender事件与 RowCreated、RowDataBound事件大乱斗
GridView的 PreRender事件与 RowCreated.RowDataBound事件大乱斗 之前写了几个范例,做了GridView的 PreRender事件与 RowCreated.Row ...
- python红蓝英雄大乱斗(面向对象实现)
红蓝英雄大乱斗 游戏规则 ''' 有红蓝两方英雄(可自定义个数) 随机一方英雄使用随机攻击方式攻击另一方英雄,任意一方英雄全部阵亡则游戏结束 每个英雄有 名字.生命值.普通攻击.Q技能攻击.W技能攻击 ...
- Cocos Creator | 飞刀大乱斗开发教程系列(三)
预览效果 具体内容 ■ 这一期,主要讲解游戏过程中,通过触摸滑动,控制人物的运动方向,以及游戏过程中,人物运动区域的控制.如下图,人物通过滑动控制运动方向,即是往哪个方向滑动,人物就往哪个方向移动 ...
- 【追寻javascript高手之路03】javascript对象大乱斗
前言 昨天我们学习了下javascript中函数的参数与作用域的东东,现在回过头来看,其实都是与函数相关的,所以javascript中的函数仍然是王道,我们今天大概会发二篇或者三篇博客一起来巩固我们的 ...
- Cocos Creator | 飞刀大乱斗开发教程系列(一)
预览效果 具体内容 ■ 这一期,主要讲解主页下方列表选项如何实现.也就是游戏开始后,加载所有现有的英雄列表,这一功能的实现,如下图部分. ■ 列表使用 ScrollView 实现,横向滚动,设置好上下 ...
- Cocos Creator | 飞刀大乱斗开发教程系列(二)
预览效果 具体内容 ■ 这一期,主要讲解主页中间人物效果的实现.也就是,在下方列表选择不同人物,上方显示不同的人物,播放不同的效果,即下图的效果实现,此部分也是采用预制 Prefab 进行实现. 英雄 ...
- Android/Unity大乱斗-完整双方集成交互指南
这是一个很长很长的story!-芝麻粒儿创作 开篇 源码地址:GitHub 本文目的,将Unity集成到Android端,学完本文后你可以做到 Android任意布局加载Unity 3D场景 任意操作 ...
- Java 单例模式大乱斗
1. 饿汉模式 线程安全 public class SingleInstance1 { private static SingleInstance1 single=new SingleInstance ...
- 使用 CocoStudio UI 编辑器实现《乱斗堂》设置界面
由于是引用别人的,所以直接贴上地址了.http://www.cocoachina.com/bbs/read.php?tid=164820&fpage=7 1 游戏中必不可少的 UI 元素 ...
随机推荐
- Spring Boot Redis 实现分布式锁,真香!!
之前看很多人手写分布式锁,其实 Spring Boot 现在已经做的足够好了,开箱即用,支持主流的 Redis.Zookeeper 中间件,另外还支持 JDBC. 本篇栈长以 Redis 为例(这也是 ...
- CentOS7 源码编译安装Nginx
源码编译安装nginx 1.下载nginx源码包(这里以nginx-1.18.0为例) wget http://nginx.org/download/nginx-1.18.0.tar.gz 2 ...
- CUDA中关于C++特性的限制
CUDA中关于C++特性的限制 CUDA官方文档中对C++语言的支持和限制,懒得每次看英文文档,自己尝试翻译一下(没有放lambda表达式的相关内容,太过于复杂,我选择不用).官方文档https:// ...
- HDU-2473 Junk-Mail Filter(并查集的使用)
原题链接:https://vjudge.net/problem/11782/origin Description: Recognizing junk mails is a tough task. Th ...
- 设计模式:bridge模式
目的:将“类的功能层次结构”和“类的实现层次结构”分类 类的功能层次:通过类的继承添加功能(添加普通函数) 类的实现层次:通过类的继承实现虚函数 理解:和适配器模式中的桥接方法相同 例子: class ...
- git安装并与远程仓库关联相关配置
git是当前最流行的版本控制系统,下面简单记录一下git的安装及其与远程仓库的关联. git安装 打开git官网,下载对应的安装包. 双击运行安装包,安装过程中可以直接选择默认配置,一路next下去. ...
- Git Push提示没有权限
中途协助别人开发的一个小项目, 我已经是该项目的Developer, 可是提交代码依然提示无权限 这是由于我是在master上直接提交的, 而GitLab默认是保护master分支的, push只对M ...
- vue学习(十九) 生命周期 了解
生命周期:从vue实例创建.运行.到销毁期间,总是伴随着各种各样的事件,这些事件统称为生命周期 生命周期钩子:就是生命周期事件的别名而已 生命周期钩子==生命周期函数==生命周期事件 生命周期函数分类 ...
- 如何在CSDN博客开头处加上版权声明?
1.首先在CSDN账号头像处打开"管理博客"选项. 2.然后在管理博客界面左侧找到设置下面的"博客设置"选项. 3.将博客设置里的"版权声明" ...
- Linux版 乐影音下载器(视频下载器) 使用方法
如果你不知道Linux为何物,那么请回去选择前两种下载方式之一. 只提供Linux 64位的乐影音下载器(点击下载),在Linux Mint 19.1 64位.Python 3.6环境下测试能正常运 ...