面试知识点系列之一
1.网址到页面显示经历的过程
从输入一个网址到浏览器显示页面经历的过程:
- DNS解析得到IP地址
- 根据ip地址,访问服务器
- 建立TCP连接(三次握手)
- 发送请求
- 服务器给出响应
- 浏览器的到响应的资源,进行解析和渲染
- 断开连接(四次挥手)
注:整个过程也叫做一个HTTP事务
2.浏览器的渲染机制
浏览器进行渲染的主要流程:

浏览器渲染过程的主要步骤:
- 解析HTML生成DOM树
- 解析CSS生成CSSOM规则树
- 将DOM树与CSSOM规则树合并在一起生成渲染树
- 遍历渲染树,开始布局,计算每个节点的位置大小信息
- 将渲染树的每个节点绘制到屏幕
注:涉及到浏览器中的
js线程与ui线程js线程和ui线程是互斥的。
3.什么是http协议
HTTP协议:客户端与服务器通信的一套规则(协议)。
HTTP协议 是位于应用层的一种协议。 HTTP协议 仅仅是应用层协议之一。 HTTP协议 是基于TCP协议。
TCP和UDP协议:
TCP:安全,可靠,耗时 UDP:不安全,不可靠,速度快
TCP与UDP都位于传输层
4.三次握手
三次握手 : 建立TCP连接的时候,客户端与服务器端出现的三次握手
三次握手的步骤:
- 客户端向服务器发起连接请求
- 服务器确认收到连接请求,并且向客户端发送连接请求
- 客户端确认收到服务器发送的连接请求
5.四次挥手
四次挥手 : 是浏览器与客户端断开连接时发生的(四次)
四次挥手的步骤:
- 甲方发出断开连接的请求
- 乙方确认收到
- 乙方发出断开连接的请求
- 甲方确认收到
为什么连接是三次握手,而断开时四次挥手?
- 建立连接的时候没有数据的传输
- 断开连接的时候可能存在数据的传输
当甲方发出断开连接请求后,已方确认收到后,可能已方还有数据没有给甲方,所以已方不能立即断开连接,只能等到已方把所有的事件处理完后,才能给甲方发一个可以断开连接的请求。