前端教程
当前位置:主页 > 资讯 > 前端教程 >
HTML基础知识-网络上的“世界大战”,即浏览器大战
发布日期:2020-04-20 阅读次数: 字体大小:

浏览器,全称:网页浏览器。作用是用于检索并向大家展示万维网的信息资源的一个应用程序。是一个 可以显示网页服务器或者文件系统的HTML文件内容,并且可以让用户和这些文件产生交互的软件


 

网页浏览器主要是通过HTTP协议与网页服务器交互并获取网页,这些网页是由URL指定的并且文件格式通常为HTML为后缀名的,由MIME(多用途互联网邮件扩展类型)在HTTP协议指明。

常见的MIME类型(通用型):

超文本标记语言文本 .html text/html

xml文档 .xml text/xml

XHTML文档 .xhtml application/xhtml+xml

普通文本 .txt text/plain

RTF文本 .rtf application/rtf

PDF文档 .pdf application/pdf

Microsoft Word文件 .word application/msword

PNG图像 .png image/png

GIF图形 .gif image/gif

JPEG图形 .jpeg,.jpg image/jpeg

au声音文件 .au audio/basic

MIDI音乐文件 mid,.midi audio/midi,audio/x-midi

RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio

MPEG文件 .mpg,.mpeg video/mpeg

AVI文件 .avi video/x-msvideo

GZIP文件 .gz application/x-gzip

TAR文件 .tar application/x-tar

任意的二进制数据 application/octet-stream。

以x-开头的方法标识这个类别还没有成为标准

只要客户机和服务器共同承认这个MIME类型,即使它是不标准的类型也没有关系

MIME信息由正常的Internet文本邮件组成
 

第一次大战

第一次浏览器大战发生在上个世纪90年代,微软发布了它的IE浏览器,和网景公司的Netscape Navigator大打出手,最后网景不得不将公司卖给AOL一走了之。世界由此平静了。但平静并没有能够持续太久,日益壮大的Mozilla Firefox从2004年又开始重新叫板微软地位。
 

最早开始推出互联网浏览器的是美国伊利诺斯大学的National Center for Supercomputing Applications(NCSA)的Mosaic浏览器。之后很多人获得了这款浏览器的授权,开始开发自己的浏览器,比如Spry Mosaic, Spyglass Mosaic (微软的IE就是基于这一款)和大家熟识的后来Marc Andreseen的网景公司前身Mosaic通讯公司。
 

在1995年以前,网景是互联网浏览器的绝对标准,因为虽然它的正式版本要收费,但是评估版是随便下载而且免费的。尽管微软从1995年8月开始发布IE 1.0,但真正惊动市场的是1997年10月份发布的IE 4.0浏览器。这一款浏览器比网景更好的遵循了World Wide Web Consortium (W3C)提出的互联网标准,并能够提供一些诸如MP3播放之类的功能。自此以后,IE破竹之势一发不可收拾,再加上微软巨大的财力、人力后盾,网景终于在1998年以48亿美元的价格出售给了AOL公司。而后,网景被AOL变成了它ISP业务的门面,的核心团队至此已经全部离队。于是,第一回合微软大胜。

 

然而,事情并没有就此结束。1998年网景公开了它的浏览器源码,并重新命名为Mozilla,全部程序进行了重写。2002年发布了第一个版本。2004年基于Mozilla源码的Firefox首次登台,拉开了第二次浏览器大战的序幕。直到同年2月份,微软的浏览器份额已经从最高点的96%下降到了85%,主要是由于Firefox的强烈市场攻势。于是乎,微软再次全力以赴,迅速提前了原定配合Longhorn Windows版本的IE 7.0的发布日期,用来与(Firefox)抗衡。

 

第二次大战

第二次大战并不像第一次那么简单。这次不只是IE和火狐狸的斗争了。一些新的基于不同引擎的浏览器也加入了阵营,比如挪威的Opera (基于Presto引擎)和中国的Maxthon。Opera的主要战场在移动设备,大部分的智能手机都配有Opera的移动浏览器。而Maxthon的主要阵地在中国,根据百度的统计,15%的百度用户都在使用这个浏览器。
 

附件:

当用户从输入URL到看到页面发生的全过程

首先浏览器主进程接管,开了一个下载线程。

然后进行HTTP请求(DNS查询、IP寻址等等),中间会有三次捂手,等待响应,开始下载响应报文。

将下载完的内容转交给Renderer进程管理。

Renderer进程开始解析css rule tree和dom tree,这两个过程是并行的

解析绘制过程中,当浏览器遇到link标签或者script、img等标签,浏览器会去下载这些内容,遇到时候缓存的使用缓存,不适用缓存的重新下载资源。

css rule tree和dom tree生成完了之后,开始合成render tree,这个时候浏览器会进行layout,开始计算每一个节点的位置,然后进行绘制。

绘制结束后,关闭TCP连接,过程有四次挥手
 

简单点说就是:

DNS 解析

TCP 三次握手

发送请求,分析 url,设置请求报文(头,主体)

服务器返回请求的文件 (html)
 

浏览器渲染

HTML parser --> DOM Tree

标记化算法,进行元素状态的标记

dom 树构建

CSS parser --> Style Tree

解析 css 代码,生成样式树

attachment --> Render Tree

结合 dom树 与 style树,生成渲染树

layout: 布局

GPU painting: 像素绘制页面

 

以上文章由与雨漫先锋网络科技(www.ymxf-seo.com)撰写与编译!如需转载请注明出处。

雨漫先锋网络科技沈阳seo服务商-专注于seo网站优化服务与企业商用模板建站服务!业务联系方式(QQ:595753982,微信;zhaohuisen123)