先来个流程总述:
DNS解析:将域名解析成IP地址
TCP连接:TCP三次握手
发送HTTP请求
服务器处理请求并返回HTTP报文
浏览器解析渲染页面
连接结束:TCP四次挥手
在浏览器输入URL后,首先要经过域名解析。浏览器通过向 DNS 服务器发送域名,DNS 服务器查询到与域名相对应的 IP 地址,然后返回给浏览器,浏览器再将 IP 地址打在协议上,同时请求参数也会在协议搭载,然后一并发送给对应的服务器。
在客户端发送数据之前会发起 TCP 三次握手用以同步客户端和服务端的序列号和确认号,
为什需要三次握手? 主要目的防止server端一直等待,浪费资源。
TCP三次握手之后,开始发送HTTP请求报文至服务器
服务器收到请求后会发出应答,即响应数据
浏览器拿到响应文本后,解析HTML代码,请求js,css等资源,最后进行页面渲染,呈现给用户。
当数据传输完毕,需要断开TCP连接,此时发起tcp四次挥手