分享好友 最新动态首页 最新动态分类 切换频道
前端面试必备——从输入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优化:掌握IJ工具,提升网站排名秘诀
高效SEO优化:掌握IJ工具,提升网站排名秘诀在当今的信息化时代,数据分析和处理成为了各行各业不可或缺的技能。IJ工具(ImageJ)作为一款开源的图像处理软件,凭借其强大的功能和易用性,在生物医学、物理学、化学等领域得到了广泛应用。
韩国浦项科技大学Hyoung Seop Kim院士应邀到我校讲学
(通讯员 熊仁龙马飞燕)10月25日下午,韩国浦项科技大学的Hyoung Seop Kim院士应研究生院、机电工程学院和国际交流合作中心的邀请,在流芳校区文科楼413报告厅开展题为“Hetero structured Material Design of High Entropy Alloys and Ad
学Python最赚钱的两种赚钱方式,还不快来了解一下
一、赚钱第一种方式:接私活 刚学会Python那会,就有认识的朋友介绍做一个网站的私活,当时接单赚了4K(仅代表个人收入),后又自己接过开发网站后台接口、做数据处理等事情,都赚了一些。 接私活指的是利用自
全市场首只创业板人工智能ETF(159363)今日上市
12月16日,全市场首只创业板人工智能ETF——创业板人工智能ETF华宝(159363)正式在深圳证券交易所上市。近期,该ETF在短短5个交易日内,首发募得资金7.89亿元,备受市场关注。最新公开数据显示,创业板人工智能ETF华宝(159363)上市前的最新
9 个最佳 WordPress 内部链接插件(自动 + 手动)
您是否正在寻找最好的内部链接插件来改善您的 SEO 策略?内部链接在搜索引擎优化(SEO)中发挥着重要作用。它们帮助搜索引擎发现您的内容并在搜索结果中排名更高。内部链接插件可以帮助自动化该过程并提供构建更好链接的建议。例如,上面的
武汉地铁下一轮建设计划网络版里,黄陂和江夏,算不算最大赢家?
武汉地铁下一轮建设计划网络版里,黄陂和江夏,算不算最大赢家?网络版武汉市第5轮轨道建设计划按照一般规律,武汉每隔5年会编制一份轨道交通建设计划,提交给国家审查通过后,接下来就按照规划分批建设。2019年1月,武汉第4轮轨道建设计划
史上最全大型互联网“Java架构师成长路线”首发,对标BAT等互联网大厂P6+需求
上述知识点,囊括了目前互联网企业的主流应用技术以及能让你成为“香饽饽”的高级架构知识,每个笔记里面几乎都带有实战内容。 很多人担心学了容易忘,这里教你一个方法,那就是重复学习。 打个比方,假如你
云南排名前十seo公司(云南百度推广排名查询)
其实云南排名前十seo公司的问题并不复杂,但是又很多的朋友都不太了解云南百度推广排名查询,因此呢,今天小编就来为大家分享云南排名前十seo公司的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录网络seo排
AI+传媒:全维赋能开启新纪元,2025年大展宏图!
在迅速发展的科技浪潮中,人工智能(AI)正在全方位推动各行各业的变革。最近,北京人工智能产业联盟发布的《人工智能蓝皮书:中国通用人工智能发展报告(2024)》一方面揭示了生成式人工智能的创新动态,另一方面也昭示着AI在传媒领域的广
如何选择合适的邮箱进行OpenAI注册
如今,AI技术的发展已经渗透到了各个领域,并对我们的生活产生了深远的影响。OpenAI作为全球领先的人工智能研究机构,致力于推动AI技术的创新与发展。如果你对AI技术感兴趣,想要注册OpenAI账号,那么一个有效的邮箱是必不可少的。选择合适
相关文章
推荐文章
发表评论
0评