1.首先在浏览器地址栏输入url,浏览器开始解析url,确定使用的协议是http还是https;
2.ip到达客户端后,通信过程需要首先建立TCP连接,获得对方回应,使用三次握手
三次握手过程:客户端发送同步数据包给服务器端--->服务器端获取客户端发送的第一个数据包并判断为请求建立连接的数据包,发送数据包给客户端做出回应--->客户端接受服务器发送的确认数据包,再次发送数据包给服务器
3.浏览器就可以使用http协议请求网页内容,将http消息打包,通过tcp协议发送给服务端;服务端收到请求报文后,处理报文信息,处理完成后将数据打包返回给客户端;客户端收到http应答后,提取html文件,进行渲染,显示出网页。
4.通信完成,通过四次挥手,拆除tcp连接,通信结束。
四次挥手过程:
(1)首先客户端向服务器发送连接释放的请求报文(数据包),并停止发送数据。
(2)服务器收到连接释放的报文之后,给客户端发送确认报文。从客户端到服务器这个方向上的连接就释放了,TCP连接处于半关闭状态。此时客户端没有数据要发给服务器了,但是服务器还有数据要发送给客户端,客户端仍可以接收。
(3)若服务器已经没有向客户端发送的数据了,其应用进程就通知TCP释放连接,并向客户端发送确认报文。
(4)客户端收到服务器的连接释放报文段后,向服务器发出确认报文。