前言

文末留言送书5本

Windows官宣:ie浏览器将于6月16日今天正式退役。

那个曾几何时的浏览器之王,经历一次又一次操作系统的迭代,直至新兴浏览器的出现后沦为浏览器鄙视链的最后一层,在叹息与嘲笑声中跌出神坛,经历了大起大落的二十年,终于要说再见了。


历史的演进

1.少年被寄予厚望

1995年,微软正处于势不可挡的时期,而浏览器的市场主要来源于网景公司,一款名为导航者的浏览器一统天下。

为了拥有自己的浏览器,微软获购买了望远镜公司的Mosaic浏览器版权,在经过魔改后,微软也拥有了属于自己的浏览器,并取名为Internet Explorer此时它主要是被应用于大学和研究机构之间通过FTP实现文件共享。

几个月后,微软又发布了IE2,这个版本的IE才真正进入了人们的视野。它直接复制了导航者的一大部分功能,如导入书签,支持超文本标记语言特性等,迅速积累了第一批用户。为了实现大规模商用,在第二年IE3就接紧发布。抛弃了原先使用的Spyglass源代码,添加了一些新技术,支持ActiveX、和128位加密等。

微软的目的,是将IE打造成浏览器界的Windows。

2.第一次浏览器大战:登上王位

IE通过频繁增添新功能的方式迅速挖掘到了市场。但是和网景依然是你追我赶,始终没能拉开差距。

此时敏锐的微软借助操作系统上的核心竞争力,马上决定让IE成为Windows系统的默认浏览器也就是说,只要你使用了微软的操作系统,那么默认浏览器就是IE。

借助这种捆绑销售的方式,微软取得了巨大成功。仅又一年后的1997,微软就发布了IE4.0,此时它已经握有80%的市场占有率。

很多人觉得IE没有技术,其实在早期IE是有技术的,并且是当时绝对领先的技术。IE4.0采用了Trident渲染引擎,它能够借助代码让页面实时变化,也就是最早的动态页面,放在当时可以吊打一众浏览器。

通过先进的技术和背后的靠山,2003年,它的市场占有率达到了惊人的95%,年仅8岁的它,正式称王。为了迎合它,苹果甚至将macOS的默认浏览器都设置为IE。

不夸张地说,它垄断了当时Web浏览器市场。

3.毫无作为的5年

也是由于这种垄断地位,让微软觉得互联网似乎已经没有对手了。于是在IE6.0发布之后,微软就解散了研发团队。并且在之后的五年时间里面,都未正视过IE的维护和优化。它的技术依然停留在2003年,那个单进程模式。

随之降临的便是越来越多的问题,横飞的木马和漏洞,动不动就会卡死的网页,极慢的启动速度,以及让你随时可能奔溃的心态。


这五年,是IE技术和市场的停滞,但也是Web高速发展的时期。微软犯了傲慢的错误,却依然享受于作为老大占领市场的快感之中,对濒临城下的敌人选择视而不见。

于此同时,众多互联网公司借此机会打造自己的浏览器品牌。

4.新一次浏览器大战:神仙打架

时间来到了2008年,浏览器市场已经不再是微软一家独大了。挑战它的主要是三个:Safari,Opera和FireFox浏览器。

每一家浏览器都为了市场不断优化自身,Safari高雅大气,有着忠实的果粉支持;Opera便捷快速;火狐支持插件,功能众多。它们都已经奠定了用户基础。

IE浏览器的市场占有率下降到了40%。

尽管有所下降,微软依然乐观,坚定自身的操作系统优势可以确保王牌地位,甚至还与火狐浏览器在某一段时间成为了友商。

此时的它丝毫不知新的变革即将到来。

5.被迫放弃

同年,一款名叫Chrome的浏览器横空出世,搭载着WebKit内核,以安全、快速、高兼容性的三大特点迅速获得了人们的认可。

仅仅2年时间,便与IE、FireFox形成三足鼎立的局势。

但是谷歌并不为此感到满足,为了进一步扩大化自己的市场,更是放了个大招:将自己的Chromium项目开源。

所以Chrome背靠谷歌这个大靠山,走了和早期IE很像的路:积极扩大自身影响力,捆绑谷歌和Chrome。只不过这次年轻的谷歌没有选择轻视敌人,它迅速将Chrome推向那个曾经属于IE的王位。

此时的微软才彻底明白过来,敌人比自己想象的还要强大。

懵逼的同时微软接连推出了IE7、IE8,并且IE8也在技术上做了重大变革,从原来的单进程模式切换成了多进程。

2013年,微软做出了最后的针扎推出IE11,进一步优化界面,加速3D图形渲染,增加引擎核心数。但为时已晚,市场占有率依然持续下降,它古老的界面和差劲的性能伴随着表情包已经深入人心,并且Chrome已经真正成为了第一。

2015年,微软宣布正式放弃IE品牌,不再开发新版本的IE浏览器,搭载着自研EdgeHTML内核的Edge浏览器问世。

同年IE浏览器的市场份额降至2%,这款陪伴了年的IE浏览器,正式远离了我们。

为何走向淘汰

平庸的用户体验

如果你是早期的网上冲浪爱好者,那一定因为各种原因主动被动、亲身体验过它,点进去之后是一个较为简单和复古的页面,和其他主流浏览器形成了一个对比。甚至它的单调可能会让你觉得有点可爱,好像是微软在和你卖萌一样。

“都20xx年了,居然还有这种界面存在”?


以及可能在你工作的关键时刻突然卡着不动,然后响应以下内容:



对它最深刻的印象,除了差劲的体验感,还有就是来自网友的调侃:



市场的挑战和错误的商业判断

但是如果仅仅只是因为短暂的差评,至少借助Windows这个靠山,在拥有广大的用户群体面前,还是有可能快速挽回市场的。

其失败的根本原因在于微软的傲慢、对Web领域错误的商业决策上。而决策的错误也导致IE在Web崛起的黄金五年里毫无作为。

在2014年年初,微软公司CEO纳德拉表示,要将微软业务重心转移至云业务,并且不会延续对IE的研发。此时正是苹果Safari,谷歌Chrome和其他众多浏览器神仙打架的时候,为了发挥优势抢占市场甚至国内的360、百度等浏览器,都在技术和兼容性上下了一番功夫。

于是,在浏览器市场的争夺中失去了领先地位和核心竞争力,取而代之的Chrome浏览器登顶霸榜。

浏览器 2022占全球桌面浏览器市场份额的百分比
Google Chrome 77.03%
Safari 8.87%
Mozilla Firefox 7.69%
Microsoft Edge 5.83%
Internet Explorer 2.15%
Opera 2.43%
QQ 1.98%
Sogou Explorer 1.76%
Yandex 0.91%
Brave 0.05%

那个熟悉的e字母图标,逐渐被人们抛弃。

浏览器背后的技术

内核引擎架构

浏览器界面是一个用户展示的结果,其核心技术体现是在于用户输入内容到页面响应,也就是「获取请求、响应数据、渲染页面」。而完成这一关键步骤的,是一个叫做浏览器内核的东西。

每个浏览器内核都大不相同,但是主体分为两个部分:渲染引擎(Rendering Engine)和JS引擎。渲染引擎更偏向于数据的导航和渲染,JS引擎就负责解析 Javascript 语言来实现网页的动态效果。

不同的浏览器、即使同一浏览器不同型号可能渲染引擎和JS引擎都不一样。当然不同的浏览器也可能使用相同的内核,IE浏览器的Trident,如国内的360极速浏览器、百度浏览器都在用它。


现在我们最常用的谷歌Chrome浏览器,它的核心架构是这样的:

用户接口接收用户请求,通过网络向浏览器组件转发请求,渲染引擎以8kb为单位接收数据信息,做数据导航,再交给V8和libXML解析,最后逐步将内容显示给用户。

核心进程

早期的浏览器,都是单进程架构,所以功能也比较简单。

一个进程中有页面线程负责页面渲染和展示,Js线程执行JS代码。

由于是单进程的结构,所以会引发很多问题,比如线程卡死问题,一个线程卡死就可能造成整个浏览器的崩溃。

还有就是数据安全问题,不同tab之间在一个进程内是通过共享内存共享数据的,所以页面线程和JS线程都可以访问到对方的数据。

现代主流浏览器都是使用的多进程结构,并且每个进程的职责都大不相同,以最常用的Chrome为例,它拥有:

  • 一个浏览器主进程:用来响应Chrome浏览器的用户操作请求,包括地址栏、书签和各种按钮,并且也负责协调与其它进程交互工作。

  • 一个GPU进程:负责整个浏览器界面的渲染。

  • 一个网络进程:负责接收网络请求和转发请求。

  • 多个渲染进程:负责页面渲染、运行脚本、事件处理等。

  • 多个插件进程:负责控制处理网站使用的所有插件。


Chrome浏览器主要是使用以下四种进程模型:

  • Process-per-site-instance:默认情况下为用户访问网站的每个实例创建一个Renderer进程,这样可以确保来自不同站点的页面是独立呈现的,并且对同一站点的多次访问也是进程间彼此隔离的。简单来说就是访问不同站点和同一站点的不同页面都会创建新的进程。

  • Process-per-site:同一个站点使用同一进程。

  • Process-per-tab:一个tab里的所有站点使用一个进程。

  • single-process:让浏览器引擎和渲染引擎共用一个进程。

Chrome默认使用的是Process-per-site-instance。优点是多进程模式下速度快,并且因为tab和tab之间的信息都是相互隔离的,所以互不影响,实现安全隔离。缺点也非常明显,太!占!内!存!我目前开了两个浏览器页面,每个页面上有多个tab,这是目前电脑的内存占用情况:


是不是知道你电脑总是内存不足的原因了?

为了挽救市场,IE8之后浏览器也改为了多进程模式,性能提升了许多。但是此时Chrome、Safari已经基于多进程的成熟技术上展现最极致的用户体验了,极速渲染、高页面FPS和刷新率、自定义插件、开发者模式等功能都相应而出。

IE慢吗?本质上不算慢,只是别人越来越快。

翘首企足的Web世界

在新兴的Web时代,我们追求性能,追求体验,更兼容、更安全。

请不要忘记,曾经那个功能简单,风格复古,披着相似外衣停留在Windows桌面二十余年的IE。它贯穿了一个时代,一个日新月异的时代,一个充满竞争的时代,最终在前进的路程中败下阵来。

一粒破土而出的种子,是一颗参天大树的延续。

Edge作为它的「种子」,将代表微软走向下一个二十年。


关于浏览器之间的竞争和迭代从未停止,作为广大用户群体的我们应期盼未来,拥抱新的改变。

下一个时代的王者是谁,Chrome么?它会被谁超越?

赠书福利
赠送新书《人工智能算法图解》共5本,这是一本硬件新书,刚刚上架!由「清华大学出版社」赞助提供 ,感兴趣的朋友推荐入手一本。

本书重点涵盖的算法簇包括搜索算法、进化算法与群体智能算法。每簇算法由浅入深分.上下两章,上章 基础篇围绕各种实际案例阐述算法设计理念,下章高级篇则带读者思考如何打造更理想的解决方案。同时,本书以典型机器学习工作流为例,讲解线性回归、决策树、神经网络与强化学习等常见算法类别。读完本书,你将能掌握清洗数据、训练模型、测试模型、调优算法等整个学习流程中的关键技巧一-正所谓万变不离其宗, 这将为你以后进一步探索智能世界打下坚实基础。

承接“图解”系列的一贯作风, 本书中不会出现任何复杂的公式,取而代之的是各种实战图例。只需要具备高中数学水平和基础编程知识,你就可顺利解决书中提及的从智能对弈到停车场寻路的各种案例。更棒的是,算法核心代码往往相对独立地运作,不会像真正意义上的工程代码那样复杂,百十行就能轻松解决集装箱自动化配货之类的问题(书中所有样例代码均在Github. 上免费开源)。触手可得的智能解决方案,为什么不试试看呢?

同样这次准备了2种方式抽奖,「本文精选留言、小程序积分兑换」这两种方式都可以参与!感谢亲爱的读者们,你们的支持也是我持续更文最大的动力。
本次开奖时间为 2022.6.18 14:00
为了避免中奖后失联,提前加我微信号:itcodexy 。

留言评论(3本)

精选走心留言,留言内容需要根据本文内容回复,或者说说为什么需要这本书,小猿将随机挑选3名读者获得一本人工智能算法图解

小程序兑换(2本)

大家可以用500积分兑换这本书,需要兑换的联系我:itcodexy ,先到先到 。

点击小程序打卡

谁打败了浏览器之王?浏览器背后需要什么技术 ? (送书活动)相关推荐

  1. 【浏览器】浏览器缓存

    一 浏览器缓存机制 浏览器在每次发生请求时,先在在浏览器缓存中查找该请求的结果和缓存标识,并且每次收到请求结果均会把请求结果和缓存标识保存在浏览器缓存中. 总体脑图:文中脑图及流程图资源 浏览器缓存策 ...

  2. 前端开发就从认识浏览器开始 - 浏览器处理请求的过程

    既然是做前端开发的,打交道最多的就是浏览器,如果我们对浏览器的工作方式.处理任务.工作原理.相关组成部分有更多的了解, 会不会有助于我们的前端技术水平提高呢? 答案是肯定的. 我们就从当我们在浏览器地 ...

  3. 微软Silverlight==跨浏览器、跨客户平台的技术

    silverlight 微软Silverlight是一个跨浏览器.跨客户平台的技术,能够设计.开发和发布有多媒体体验与富交互(RIA,Rich Interface Application)的网络交互程 ...

  4. HttpServletRequest请求中获取操作系统,浏览器及浏览器版本信息

    最近在开发中需要从request中获取操作系统,浏览器及浏览器版本信息.我们都知道通过request.getHeader("User-Agent")可以获取到.但是这样获取到的信息 ...

  5. 超详细!Chrome 浏览器、浏览器插件 下载和安装教程

    本文将会以动图的形式,简明扼要教学如何使用chrome浏览器安装浏览器插件. 本教程适用于 chrome浏览器 edge浏览器 qq浏览器 搜狗浏览器 等等 推荐的浏览器还是最新版 chrome浏览器 ...

  6. 搜狗Sogou拼音输入法,搜狗高速浏览器(IE浏览器内核)

    搜狗Sogou拼音输入法,搜狗高速浏览器(IE浏览器内核) 1.搜狗Sogou拼音输入法:超强互联网词库:搜狗拼音输入法利用搜索引擎技术,根据搜索词生成的输入法互联网词库,能够覆盖所有类别的流行词汇. ...

  7. Java工具类-获取请求ip/浏览器/操作系统/浏览器版本

    获取请求ip/浏览器/操作系统/浏览器版本 使用到第三方工具类 hutool <!-- hutool工具类 --> <dependency><groupId>cn. ...

  8. 什么是指纹浏览器(浏览器指纹7个重要参数)

    目前市面上的指纹浏览器或者工具很多,如 候鸟浏览器,multilogin浏览器,kameleo等等. 什么是指纹浏览器 指纹浏览器是最新一代通过浏览器指纹修改或者伪装的防关联技术:完美替代VPS.虚拟 ...

  9. java 浏览器 qq_Qq浏览器通用版移动QQ浏览器v2.1Java通用版下载

    下载地址: 移动QQ浏览器的Java版本运行平稳. 您可以通过长按页面上的空白来调用菜单,这更加方便. 新增了由腾讯移动客户端软件创建的夜间模式,对多项功能进行了优化和创新. 设置了QQ空间应用程序入 ...

最新文章

  1. 高级特性-多线程,GUI
  2. 第五篇:协调和协定之选举算法
  3. Spring Cloud 微服务入门(二)--Spring Cloud 架构
  4. 【数学建模】线性规划模型MATLAB求解(最优化)
  5. 2016rMBP登录后自动关机、帐户数据丢失
  6. 次梯度(subgradient)
  7. 【竞赛算法学习】学术前沿趋势分析-论文数据统计
  8. php环境苹果搭建,mac下搭建php环境
  9. Linux文本复制到记事本文本文件乱码,解决“在windows里的记事本里编辑的汉字文本文件,上传到linux服务器上出现乱码“问题...
  10. 在java中如何输入角度_在Java中以特定角度绘制一条线
  11. 狸猫换太子--删除无头单链表中结点
  12. apache kafkac系列lient发展-java
  13. 惠普安装linux系统u盘,怎么用U盘安装linux系统
  14. 北京无人驾驶路测进入“主驾无人”阶段
  15. Learning Agile software Development
  16. php检查数据库记录,php-检查数据库中是否有新条目
  17. 数学建模论文基本格式(转载)
  18. Spring是bean的容器,那么到底bean是什么,容器又在哪里。(bean存在spring的哪里)
  19. 虚拟内存与物理内存(滴水)
  20. python远程连接mysql数据库_python远程连接MySQL数据库

热门文章

  1. csdn 制作动态gif 插图
  2. SQL Server中日期格式的转换
  3. 从三大开发商看蜘蛛侠
  4. 腾讯公司副总裁梁柱:QQ即将上线3D厘米秀等功能 继续强化年轻社交
  5. 身无分文怎么赚钱,分享个赚钱小故事!
  6. IEEE 802.11
  7. Linux下的文件被删除后恢复
  8. 阿里云服务器[教程3]一键安装php+mysql+ftp+nginx环境
  9. 禁止U盘访问电脑!禁止可移动设备访问电脑!
  10. CSW博客《数字黄金》