本文章包括了浏览器从输入URL开始到展现出整个页面的过程的知识点,目的是为了梳理整个知识框架,包括计算机网络、浏览器渲染等知识。梳理完这部分的知识后,你应该能知道要从哪里入手前端优化了吧?
浏览器从输入URL到显示全过程
对网址URL进行DNS解析
浏览器首先向DNS请求地址解析,DNS将URL解析为IP地址后返回给浏览器,于是浏览器可以拿着这个解析后的IP地址。1 来找到服务器,从而发起TCP连接。
TCP连接
浏览器和服务器建立TCP连接。
TCP三次握手建立连接
- 第一次握手: 浏览器向服务器发送自己的SYN(同步序列编号),请求与服务器连接;
- 第二次握手: 服务器收到后向浏览器发送自己的SYN+ACK(确认包)表示自己已收到请求并可以建立连接;
- 第三次握手: 浏览器向服务器发送ACK完成三次握手。
不同HTTP版本下TCP连接的不同
- HTTP 1.0 不持久连接,一次请求一次连接
- HTTP 1.1 加入了keep-alive属性,可以建立持久连接,一次连接多次请求响应
- HTTP 2.0 加入了多路复用,多个请求响应可以交错并行发送
HTTP请求与响应
建立连接后,浏览器向服务器发送HTTP请求,服务器作出响应。
请求和响应报文的格式
请求行:请求方法 URL HTTP版本号
GET www.baidu.com HTTP/1.1
响应行:HTTP版本号 状态码 短语
HTTP/1.1 200