从输入url到页面加载发生了什么,可以分为六点
1、DNS解析
计算机在整个互联网中的唯一标识是ip地址,DNS解析就是从输入url到寻找ip地址的过程
首先查找浏览器缓存中是否有,再查找操作系统host文件中有没有,没有的话就到DNS服务器中找,得到ip地址之后
2、建立tcp连接
建立tcp连接就是三次握手
第一次:客户端=>服务端 客户端向服务器端发送SYN=1,代表请求建立连接;还发送seq=n是客户端的序列号
第二次:服务端=>客户端 服务端表名收到请求,发给客户端SYN=1,代表同意建立连接,ack=n+1,返回客户端序列号加1,代表确认收到信息,同时发送一个自己的序列号,seq=x代表服务端序列号
第三次:客户端=>服务端 客户端发送SYN=0表明开始发送信息,并返回ack = x+1确认收到服务端序列号,并发送seq = n+1
那么为什么是三次握手,为什么不能是两次?
原因在于,握手过程中,客户端和服务端都必须表明自己同时具有发送信息和接收信息的能力
第一次握手证明客户端具有发送信息的能力
第二次握手证明服务端具有接收信息和发送信息的能力
第三次握手则证明客户端具有接收信息的能力
3、发送http请求
4、服务器处理请求,并返回http报文
5、浏览器解析和渲染页面
6、连接结束(四次挥手)