分享好友 最新动态首页 最新动态分类 切换频道
前端面试必备——从输入URL到浏览器展示网页的过程
2024-11-04 16:38

1、用户输入关键词,地址栏判断是搜索内容还是 url 地址

前端面试必备——从输入URL到浏览器展示网页的过程

  • 如果是搜索内容,会使用浏览器默认搜索引擎加上搜索内容合成url;
  • 如果是域名会加上协议(如 https)合成完整的 url。

2、然后按下回车。浏览器进程通过 IPC进程间通信把 url传给网络进程(网络进程接收到 url 才发起真正的网络请求)。

3、网络进程接收到 url 后先查找有没有缓存。(先检查强缓存,如果命中直接使用缓存资源,否则进入 DNS 解析)

  • 有缓存,直接返回缓存的资源。
  • 没有缓存。(进入真正的网络请求)。首先获取域名的 IP,系统会首先自动从 hosts 文件中寻找域名对应的 IP 地址,一旦找到,和服务器建立 TCP 连接;如果没有找到,则系统会将网址提交 DNS 域名解析服务器来进行 IP 地址的解析。

4、利用 IP 地址和服务器建立 TCP 连接(3 次握手)

5、建立连接后浏览器构建数据包(包含请求行,请求头,请求体,并把该域名相关 cookie 等数据附加到请求头),然后向服务器发送请求消息

注意:请求体只有在 方法下存在,常见的场景是表单提交

6、服务器接收到消息后根据请求信息构建响应数据(包括响应行,响应头,响应正文).应用层HTTP解析请求头和请求体

  • 如果需要重定向,返回HTTP响应数据的状态码301或者302,同时在请求头的Location字段中附上重定向地址,浏览器会根据code和Location进行重定向提作;
  • 如果不是重定向,首先服务器会根据请求头中的的值来判断请求的资源是否被更新,如果没有更新,就返回304状态码,告诉浏览器之前的缓存还可以使用,不需要返回新数据,否则,并且如果浏览器需要缓存数据的话,就在相应头中加入字段:
    响应数据又顺着应用层——传输层——网络层——网络层——传输层——应用层的顺序返回到网络进程

7、数据传输完成,TCP四次挥手断开连接。如果浏览器或者服务器在HTTP头部加上,TCP就一直保持连接,这样再次传输时不需重新建立连接,提高资源加载速度

8、网络进程接收到响应数据后进行解析,根据响应头中的来判断响应数据的类型,如果是,就将该请求交给下载管理器;如果是,就通知浏览器进程将获取的文档进行渲染

在渲染引擎内部有个 HTML解析器负责将 HTML 字节流转换为 DOM 结构,因为浏览器不能解析 HTML,故会先基于 HTML 编码转换为单个字符,通过分词器将字节流转换为 Token,每个 token 都有自己独特的含义和规则集;然后进行词法分析,将 token 转为对象,这些对象分别定义他们的属性和规则之后进行 DOM 构建。

  • 解析 HTML 构建 DOM 时,遇到Javascript 会被阻塞(当没有 async 和 defer 属性时)
  • Javascript 执行会被 CSSOM 构建阻塞,也就是说,Javascript 必须等到 CSSOM 构建完成后才会执


为了构建渲染树,浏览器主要完成了以下工作:

  • 从 DOM 树的根节点开始遍历每个可见节点
  • 对于每个可见的节点,找到 CSSOM 树中对应的规则,并应用它们
  • 根据每个可见节点以及其对应的样式,组合生成渲染树


第四步是在渲染树上运行布局以计算每个节点的几何体。

  • 渲染树会表示显示哪些节点以及其他样式,但是不表示每个节点的尺寸、位置等信息
  • 布局是确定呈现树中所有节点的宽度、高度和位置信息:
  • 注意:布局树只包含可见元素,对于 head 标签和设置了 display:none 的元素,将不会被放入其中。
最新文章
网站站长角色深度解析:他们是如何驾驭互联网的?
网站站长角色深度解析:如何驾驭互联网? 随着互联网技术的迅猛发展和普及,站长这一职业角色也逐渐成为了互联网生态中不可或缺的一环。他们如何驾驭互联网?今天我们就来深度解析网站站长的角色及其工作内涵。网站站长,顾名思义,即负责
深圳SEO秘籍,关键词优化攻略,助力企业网站排名飞升!
深圳快速SEO,专注关键词优化,助力企业网站快速提升排名。本文揭秘高效策略,助您优化关键词,实现网站流量激增。随着互联网的飞速发展,企业对的需求日益增长,在这个竞争激烈的市场环境中,如何让企业网站在搜索引擎中脱颖而出,成为众
警惕,裸聊诈骗竟为AI换脸“照骗”!
  近年来,AI换脸技术被应用在各个领域,不法分子也动起了歪心思,利用AI换脸实施犯罪,例如伪造不雅视频、换脸诈骗等。AI换脸不仅可以快速将一张人脸无缝融入另一个图片或视频中,甚至连人物表情、口型都可以用AI技术合成,具有更强的以
移动站seo优化-怎么做好移动网站的SEO优化-移动seo优化方法软件免费
移动站seo优化,移动网站怎么做SEO优化,移动网站SEO优化有什么规范。首先搜索引擎对移动网站的打开响应速度有一定的要求,打开速度越快越适合优化,打开速度越慢,越不适合优化。随着互联网的发展,
卖家精灵Mac 4.5.2
卖家精灵Mac官方版是款很多网店店主使用的关键词优化工具。卖家精灵Mac正式版为用户提供选品、关键词调研、竞品分析、关键词工具等丰富功能,用户可以通过它来查看各种商品最新热门搜索词。卖家精灵Mac还可以帮助购物网站上面的商家进行购
Broken Link Detector
Broken Link Detector为用户提供了一套死链接检测方案。其能够自动分析网站中的链接,并查看是否出现死链接。通过该程序可以帮助您查询网站上的无效的链接,辅助进行清除。检测结果分为全部与错误两部分,您可以查看所有的链接结果是否正常
群晖IPv6动态域名解析保姆级教程
创作立场声明:文章所述内容均经个人实践成功,但不保证所有设备均可使用,如有问题还请见谅,欢迎值友理性讨论,不喜勿喷。上篇文章我介绍了移动宽带如何通过IPv6获取公网IP,达到外网访问的目的。但是IPv6地址不仅巨长,不便输入,而且是
微信公众号消息模板——Java
目录 前言 介绍 准备操作 代码 前言 公众号消息模板推送有很多便利,尤其是针对小程序的消息提醒,具有及时性,准确性等有优势,还可以点击进入小程序当然更加适配小程序的有专门的小程序订阅消息,这个之后
H5开发,让传统网页焕发新生机
随着移动互联网的快速发展,逐渐成为了一个热门话题。那么,什么是H5呢?简单来说,H5就是HTML5的简称,它是一种基于的方式。相较于传统的网页开发方式,H5具有许多优势,如跨平台、响应式设计、性能优化等。专业的H5开发公司新里程科技将
如何在Win7上使用EFI和GPT?
如何在Win7上使用EFI和GPT?传统的BIOS和MBR分区已经不能满足现代计算机的需求,EFI和GPT分区成为了新的选择。使用EFI和GPT分区可以提高系统的启动速度和硬件支持性,本文将介绍如何在Windows7上使用EFI和GPT分区,并说明使用EFI和GPT的好
相关文章
推荐文章
发表评论
0评