赞
踩
这个问题也是老生常谈了,更是经常被作为面试的压轴题出现。在此稍微全面一点记录下。
浏览器缓存
:简单来说,浏览器缓存就是把一个已经请求过的Web资源(如html页面,图片,js,数据等)拷贝一份副本储存在浏览器中。DNS解析——解析域名,获取对应的ip地址
(互联网协议地址)
例如https://www.blog.csdn.net/
的解析
-ISP的DNS服务器:ISP(Internet Service Provider)
,是互联网服务提供商的简称。ISP有专门的DNS服务器对应DNS查询请求。
根服务器:如果ISP
的DNS服务器没有找不到,ISP会代替用户向根服务器发起查询请求。根域名服务器会返回.net域名
服务器的ip地址,然后访问.net域名
服务器获取blog.csdn.net
域名服务器的ip地址,最后在访问blog.csdn.net
域名服务器获取www.blog.csdn.net
的ip地址,最后DNS域名解析完成。
DNS递归查询(可能存在负载均衡导致每次IP不⼀样)
SYN=1
,Seq=x
的syn包到服务器,并进入到SYN_SEND
状态,等待服务器确认。(客户端–服务器。您好,您好漂亮呀,我想认识您!)syn包
后,必须确认客户的SYN(ack=x+1)
,同时发送一个自己的SYN(seq=k)包
给客户端(即SYN+ACK包
),同时服务器进入到SYN_RECV
状态。(服务器–客户端。好的,很高兴认识您,当然您也是蛮帅的哦!)SYN+ACK包
后,向服务器发一个确认包ACK(k+1)
,这些包发送完毕后,客户端和服务器同时进入到ESTABLISHED
状态,完成三次握手。(客户端–服务器。啊哈哈哈,我也很高兴认识您)Tips:TCP在握手过程中不会携带任何数据,三次握手完成之后,才会进行数据的传递。(即三次握手之后,浏览器才发送Http请求)
建立TCP连接后,客户端就可以向服务端发送http请求报文了。
请求行包含
请求方法有哪些?
请求头包含了请求的附加信息,一般以key:value的形式存在。比如关于客户端的信息,host(主机名)。
请求体包含了多个请求参数的数据,包含了回车符、换行符、请求数据(不是所有的请求都带有请求数据)。
服务器会检查HTTP请求头是否包含缓存验证信息,如果验证缓存新鲜,返回304等对应状态码
服务器收到请求后处理请求,并返回响应报文数据。
浏览器接收HTTP响应后,根据实际情况选择关闭TCP连接或者保留重⽤,关闭TCP连接的四次握⼿如下:
Tips:为什么不能三次挥手?有可能数据还未传输完成,所以服务器要先确认后再发起断开消息
浏览器解析htm代码,并请求html代码中的资源(如js、css、图片等)
浏览器接收到 HTTP 数据包后的解析流程(解析 html
、 词法分析然后解析成 dom
树、解析 css
⽣成 css
规则树、合并成render
树,然后layout
、 painting
渲染、复合图层的合成、 GPU
绘制、外链资源的处理、 loaded
和 DOMContentLoaded
等)
回流
:当某个元素的尺寸大小或是位置信息发生改变的时候,会触发回流,对元素的大小和位置进行重新计算。
重绘
:当某个元素的背景颜色,文字颜色或是其他不影响周围或内部布局的属性发生改变时会触发重绘。
注:回流一定会包含着重绘,而重绘不一定会包含回流。
浏览器在接收到服务器返回的HTML文件后,会对其进行HTML解析。
浏览器的HTML解析器把HTML解析成DOM 树(根据HTML文件的结构从上到下解析HTML,HTML元素以深度优先的方式进行解析)
解析HTML过程中遇到图⽚、样式表、js⽂件,会启动下载
JS 引擎解析过程( JS 的解释阶段,预处理阶段,执⾏阶段⽣成执⾏上下⽂, VO ,作 ⽤域链、回收机制等等)
DOMContentLoaded
事件document.readState
变为complete
,window触发 load事件结合上述,浏览器输入url后执行的整个过程大致步骤如下表
步骤 | 描述 | 属性值 |
---|---|---|
① | 检查网页重定向 | Redirect |
② | 检查本地缓存 | AppCache |
③ | DNS解析,查询对应的ip地址 | DNS |
④ | 建立TCP连接(TCP三次握手) | TCP |
⑤ | 浏览器发送http请求 | Content Download 浏览器解析htm代码,并请求html代码中的资源(如js、css、图片等) |
⑥ | 服务器响应http请求 | |
⑦ | 断开TCP连接(TCP四次挥手) | Disconnect TCP |
⑧ | Dom加载 | DOMContentLoaded |
⑨ | 页面加载完成(页面load) | Loaded |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。