http相关的前端面试题

295 阅读2分钟

面试知识点系列之一

1.网址到页面显示经历的过程

从输入一个网址到浏览器显示页面经历的过程:

  1. DNS解析得到IP地址
  2. 根据ip地址,访问服务器
  3. 建立TCP连接(三次握手)
  4. 发送请求
  5. 服务器给出响应
  6. 浏览器的到响应的资源,进行解析和渲染
  7. 断开连接(四次挥手)

注:整个过程也叫做一个HTTP事务

2.浏览器的渲染机制

浏览器进行渲染的主要流程:

enter description here

浏览器渲染过程的主要步骤:

  1. 解析HTML生成DOM树
  2. 解析CSS生成CSSOM规则树
  3. 将DOM树与CSSOM规则树合并在一起生成渲染树
  4. 遍历渲染树,开始布局,计算每个节点的位置大小信息
  5. 将渲染树的每个节点绘制到屏幕

注:涉及到浏览器中的js线程ui线程 js线程和ui线程是互斥的

3.什么是http协议

HTTP协议:客户端与服务器通信的一套规则(协议)。

HTTP协议 是位于应用层的一种协议。 HTTP协议 仅仅是应用层协议之一。 HTTP协议 是基于TCP协议。

TCP和UDP协议:

TCP:安全,可靠,耗时 UDP:不安全,不可靠,速度快 TCP与UDP 都位于传输层

4.三次握手

三次握手 : 建立TCP连接的时候,客户端与服务器端出现的三次握手

三次握手的步骤:

  1. 客户端向服务器发起连接请求
  2. 服务器确认收到连接请求,并且向客户端发送连接请求
  3. 客户端确认收到服务器发送的连接请求

5.四次挥手

四次挥手 : 是浏览器与客户端断开连接时发生的(四次)

四次挥手的步骤:

  1. 甲方发出断开连接的请求
  2. 乙方确认收到
  3. 乙方发出断开连接的请求
  4. 甲方确认收到

为什么连接是三次握手,而断开时四次挥手?

  1. 建立连接的时候没有数据的传输
  2. 断开连接的时候可能存在数据的传输

当甲方发出断开连接请求后,已方确认收到后,可能已方还有数据没有给甲方,所以已方不能立即断开连接,只能等到已方把所有的事件处理完后,才能给甲方发一个可以断开连接的请求。