了解 HTTP 和 HTTPS 的通信流程有助于提升我们队通信严谨性、安全性的理解,同时也是一种解决方案的积累。
1.HTTP 连接的建立(基于TCP)
首先看握手部分:
第一次握手:Client 说 Server 你好,我想跟你建立连接
报文里携带有 seq=J 的请求确认信息 SYN=1,表示这是一次握手请求确认,seq=J 序列号是用来给对方做备份的,以防下次由于网络不好,再次发送一样的报文,如果发现序列号已经确认过了则直接丢弃
此时客户端的状态变化: CLOSED(关闭) => SYN_SENT(确认信息已发送)
此时服务端的状态变化:CLOSED(关闭) => SYN_RCVD(确认信息已