作为前端老鸟,从IE的6、7、8开始做前端,各种兼容性折磨死人。js还好有了jQuery。chrome出来后,真是救苦救难,解救程序员的于水火。但是可恶的boss还是要求兼容ie6,7。感谢淘宝团队的表率,率先不支持ie8以下浏览器。有了跟产品经理和老板抗争的勇气……

下面来回顾下浏览器的发展历史

浏览器的起源

浏览器始祖NCSA Mosaic在1993年1月发布(于1992年末由国家超级计算机应用中心—National Center for Supercomputing Applications开发)。Mosaic可以同时展示文字和图片,从此浏览器变得有趣多了。 在当时人气爆发的大受欢迎。Mosaic的出现,算是点燃了后期互联网热潮的火种之一。NCSA将Mosaic的商业运营权转售给了Spyglass公司,该公司又向包括微软公司在内的多家公司技术授权,允许其在 Mosaic的基础上开发自己的产品

MOSAIC开发的中心人物马克·安德森吉姆·克拉克(几何图形发生器发明人、SGI与Healtheon公司的创始人)设立了「MOSAIC Communication Corp.」,这家公司之后1994年11月改名为「Netscape Communication Corp.」,中译为网景。网景通信聘用了许多原有的Mosaic浏览器工程师,但是没有采用Mosaic网页浏览器的任何代码。

1994年10月13日,网景通信公司推出发布了Mosaic Netscape 0.9

1994年开始,网景通信公司推出了代号为Netscape Navigator 1.0(网景导航者、网景浏览器),随后迭代版本迅速占领浏览器大部分份额。Netscape自称“Mozilla/1.0(Win3.1)”,一说 Mozilla = Mosaic + Killer,意为Mosaic杀手,也有说法是 Mozilla = Mosaic & Godzilla,意为马赛克和哥斯拉,而Mozilla最初的吉祥物是只绿色大蜥蜴,后来更改为红色暴龙,跟哥斯拉长得一样。

1995年起搭载cookie、框架和JavaScript等多样独自功能的2.0版上市。从前前端码农开始可以大踏步干活了,与通宵达旦干兼容血战到底。网景支持框架(frame),但是Mosaic不支持框架,于是网站管理员探测user agent,对Mozilla浏览器发送含有框架的页面,对非Mozilla浏览器发送没有框架的页面。

网景一看浏览器业务这么好,那干脆试着做一个操作系统得了,微软意识到网景通讯公司对其操作系统和应用市场的威胁,立马收购另外一家浏览器公司,在其基础上开发了Internet Explorer网景跟微软的撕逼大战不必多说,这中间就是多出了IE。windows捆绑IE,网景涅盘成了 Mozilla 基金会并制作了 Gecko,自称 Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) 。Mozilla 后来又成了Firefox(火狐),自称 Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0。这些目前基本非常小众了。

苹果鼓捣出了 Safari,拿来了 KHTML,敲敲打打修修补补一番满意之后改称 WebKit。Safari 想要用给 KHTML 准备的网页,因此自称 Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5。

无论是Firefox还是Opera还是IE,都是骨灰。这里暂且略过。正主chrome从webkit中诞生

国产浏览器的起源于IE,一位网名为changyou(畅游)的程序员于1999年在论坛上发布一款叫”MyIE"的浏览器,基于IE,但采用多窗口浏览,占用系统资源比IE6少很多,且有鼠标手势、视觉化书签等功能,后来的中国浏览器MyIE2(后改名Maxthon)、网际畅游(后改名GreenBrowser)与TheWorld(世界之窗)等都是用MyIE的源代码改写完成。这几款浏览器都不是开发MyIE那位维护的,MyIE版本到3.2版本后就再也没有更新过,“畅游”这个人也消失不见了。后来呢遨游成立公司独自运营,TheWorld被360收购变成了360安全浏览器。后他们随着3q大战 3b大战,各个厂商都推出拿着webkit的外衣推出各自的浏览器。

Chrome Beta版正式发布

2008年,北京奥运会开展之际,Google正式发布首个Chrome Beta版,这次发布涉及全球100多个国家。同日,Google官方网站也提供了下载连接。

2009年,Chrome在支持Windwos的基础上又发布了Mac和Linux两个版本,至此Chrome浏览器已经支持所有主流系统。

chrome从08年到14年和从14年到18年,基本都发布了30个版本。

准备手机chrome各个版本演进的历史。等待更新吧。

参考文章:

浏览器 发展历史 https://www.jianshu.com/p/c1c2737f1d0b

全球第一大浏览器 简述Chrome发展史 https://digi.tech.qq.com/a/20120605/001119.htm

转载本站文章《浏览器史话中chrome霸主地位的奠定与国产浏览器的割据混战》,
请注明出处:https://www.zhoulujun.cn/html/webfront/browser/webkit/2019_0615_8140.html

浏览器史话中chrome霸主地位的奠定与国产浏览器的割据混战的更多相关文章

  1. 将浏览器地址栏中的 Request 参数显示成中文

    希望实现:在当 JSP 页面发起请求,或者 Servlet 跳转时,地址栏中的参数可以显示成中文. 在通常情况下,浏览器地址栏中的URL地址为了适配不同的浏览器,会将URL地址信息转码为"I ...

  2. PluginOK中间件高级版-支持在Chrome、Edge、Firefox等浏览器网页中真正内嵌ActiveX等控件运行的版本已获多家上市公司采购

    PluginOK(牛插)中间件(原名:本网通WebRunLocal)是一个实现WEB浏览器(Web Browser)与本地程序(Local Application)之间进行双向调用的低成本.强兼容.安 ...

  3. 谷歌chrome浏览器network中Stalled分析和优化

    谷歌chrome浏览器network中Stalled分析和优化 问题由来 最近项目上要求首页的加载速度,查看浏览器的network发现接口加载速度非常慢. 问题解决思路 SSL 网上有人因为图片加载, ...

  4. 各种浏览器(IE,Firefox,Chrome,Opera)COOKIE修改方法[转]

    各种浏览器(IE,Firefox,Chrome,Opera)COOKIE修改方法[转] 网站通过 Cookie 保存了我们访问网站的信息,在不同的浏览器中修改 Cookie 可以如下操作: Firef ...

  5. JavaScript 最终将在编程语言中占统治地位?

    JavaScript 最终将在编程语言中占统治地位? JavaScript 现在是大多数开发者都会使用的编程语言.网络效应会推动它成为有史以来第一个真正占统治地位的编程语言吗? 大约十年前,编程的方式 ...

  6. JavaScriptCore在浏览器引擎中的位置

    因为随着JS这门语言的发展,JS的宿主越来越多,有各种各样的浏览器,甚至是常见于服务端的Node.js(基于V8运行). 2.       Webkit 源代码由三大模块组成: 1). WebCore ...

  7. Chrome浏览器内部协议Chrome://收集

    Chromium 采用 Chrome:// 协议开头的形式, 规定了一系列的内部协议, 有的用来显示数据, 有的用来实现一些功能, 但对普通用户进行了屏蔽.在Chrome浏览器地址栏直接访问就好了! ...

  8. Python3 + selenium + Chrome浏览器(webdriver.Chrome()报错)

    Python3 + selenium + Chrome浏览器 Error: selenium.common.exceptions.WebDriverException: Message: 'chrom ...

  9. mac中chrome常用快捷键

     1.标签页和窗口快捷键  ⌘-N                                                                  打开新窗口.   ⌘-T      ...

  10. 浏览器上网 (Safari & Chrome)

    浏览器上网 (Safari & Chrome) Command + L = 光标移到地址框 Command + R = 刷新页面 Command + + = 大屏幕的时候很实用,放大页面,基本 ...

随机推荐

  1. 查找数组中第K大的元素

    要查找一个数组中的第 K 大元素,有多种方法可以实现,其中常用的方法是使用分治算法或快速选择算法,这两种方法的时间复杂度到时候O(n). 快速选择算法示例: package main import & ...

  2. Net 高级调试之六:对象检查之值类型、应用类型、数组和异常的转储

    一.简介 今天是<Net 高级调试>的第六篇文章.记得我刚接触 Net 框架的时候,还是挺有信心的,对所谓的值类型和引用类型也能说出自己的见解,毕竟,自己一直在努力.当然这些见解都是书本上 ...

  3. Git文件权限与filemode配置方法

    一.问题 Clion是一个跨平台的IDE,今天将工程运行在Ubuntu下,在Git提交时发现有很多文件显示被更改,但是文件内容却是相同的. 二.Git 规则 Git对文件访问权限的管理与配置选项cor ...

  4. 题解 CF690C1

    题目大意: 给定一张 \(n\) 个点 \(m\) 条边的无向图,判断这是不是一棵树. 题目分析: 两种思路: 思路一: 不需要建图,直接使用并查集判环即可 最后判断一下图联不联通就行,具体方法就是看 ...

  5. 2023-11-18:用go语言,如果一个正方形矩阵上下对称并且左右对称,对称的意思是互为镜像, 那么称这个正方形矩阵叫做神奇矩阵。 比如 : 1 5 5 1 6 3 3 6 6 3 3 6 1 5

    2023-11-18:用go语言,如果一个正方形矩阵上下对称并且左右对称,对称的意思是互为镜像, 那么称这个正方形矩阵叫做神奇矩阵. 比如 : 1 5 5 1 6 3 3 6 6 3 3 6 1 5 ...

  6. 错误记录-MariaDB连接异常

    简介: 问题: C#,VS2022,mariadb-10.11.5-winx64,using MySql.Data.MySqlClient; 在执行connection.Open()时抛出异常:Sys ...

  7. 制作交互式页面动画 | animate+javaweb

    目前是做得这样的作业,有想法改一改.

  8. 【Javaweb】Servlet四 | ServletConfig类|ServletContext类

    ServletConfig类是Servlet程序的配置信息类. ServletConfig类的三大作用 1.可以获取Servlet程序的别名servlet-name的值 System.out.prin ...

  9. 在.net中通过自定义LoggerProvider将日志保存到数据库方法(以mysql为例)

    在.NET中,Microsoft.Extensions.Logging是一个灵活的日志库,它允许你将日志信息记录到各种不同的目标,包括数据库.在这个示例中,我将详细介绍如何使用Microsoft.Ex ...

  10. SQL动态化多个分组查询

    现有以下三张表,分别为:diqu(地区表),zhiye(职业表),info(信息表) 最基本的分组查询 1 select dqID,jbID,COUNT(1) from info group by d ...