1.首先获取url 解析出ip地址 如果本地hosts中有配置优先取出配置 若没有则进行dns解析
2.tcp 三次挥手 建立连接
3.客户端发送http请求
4.服务器处理请求并响应
5.浏览器处理资源文件进行渲染
6.tcp的四次挥手
简述三次握手和四次挥手
下面符号的含义 SYN(联机) ACK(确认) FIN(结束)
三次握手
第一次握手:客户端采用TCP协议将带有SYN标志的数据包发送给服务器,等待服 务器的确认。
第二次握手:服务器端在收到SYN的数据包后,必须确认SYN,并发送的ACK标志,同时,自己也将会向客户端发送一个SYN标志。
第三次握手:客户端在接收到服务器段的SYN+ACK包后,自己会向服务器发送ACK包,完成三次握手。那么客户端和服务器正式建立了连接,开始传输数据
四次挥手
1. 当客户端的数据传输到尾部时,客户端向服务器发送带有FIN标志的数据包,使其明白自己准备断开通信了。 TCP规定,FIN报文段即使不携带数据,也要消耗一个序号。
2. 因为TCP的通信是使用全双工通信的,所以在断开连接的时候也应该是双向的;当服务器收到带有FIN标志的数据包时,
其必不会直接发送FIN标志断开通信的请求,而是先发送一个带有ACK标志的应答信息,使客户端明白服务器还有数据要进行发送。
3. 服务器的数据发送完成后,向客户端发送带有FIN标志的数据包,通知客户端断开连接。
4. 当客户端收到FIN后,担心某些不可控制的因素导致服务器不知道他要断开连接,会发送ACK进行确认,同时把自己设置成TIME_WAIT状态并启动定时器,在TCP的定时器到达后客户端并没有接收到请求,会重新发送;当服务器收到请求后就断开连接;当客户端等待2MLS(两倍报文最大生存时间)后,没有收到请求重传的请求后,客户端这边就断开连接,整个TCP通信就结束了。
https的传输过程:
1.在服务器端存在一个公钥及私钥
2.客户端从服务器取得这个公钥
3.客户端产生一个随机的密钥
4.客户端通过公钥对密钥加密(非对称加密)
5.客户端发送到服务器端
6.服务器端接受这个密钥并且以后的服务器端和客户端的数据全部通过这个密钥加密
网友评论