HTTPS请求阶段图解分析

HTTPS请求阶段分析

请求阶段分析

一个完整、无任何缓存、未复用连接的 HTTPS 请求需要经过以下几个阶段:

  1. DNS 域名解析、
  2. TCP 握手、
  3. SSL 握手、
  4. 服务器处理、
  5. 内容传输。
    一个 HTTPS 请求共需要 5 个 RTT = 1 RTT(域名解析)+ 1 RTT(TCP 握手)+ 2 RTT(SSL 握手)+ 1 RTT(HTTP 内容请求传输)
    在这里插入图片描述
    举个例子,说明接口延迟的计算和影响:假设北京到美国洛杉矶的 RTT 延迟为 190 毫秒,我们从北京访问美国洛杉矶的一个 HTTP 服务,整个交互过程时延计算是5*190+后端业务延时。其中,"5"代表的是 HTTPS 请求的 5 个环节,每个环节都需要一个 RTT 的时间。
    因为网络延迟始终会受到物理环境的制约,无论使用什么技术、如何优化,950ms 的指标将会很难突破,所以我们的优化策略也是以减少请求环节、链路优化、降低 SSL 计算量为主
TCP三次握手是建立可靠连接的关键步骤,它确保了数据能够稳定传输。在这个过程中,涉及的三个状态分别是SYN-SENT、SYN-RECEIVED和ESTABLISHED。首先,客户端发起连接,发送一个SYN(同步序列编号)报文段给服务器,此时客户端处于SYN-SENT状态。服务器收到这个SYN报文段后,需要对这个报文段进行确认(ACK),同时也要发送一个自己的SYN报文段给客户端,此时服务器处于SYN-RECEIVED状态。最后,客户端接收到服务器的SYN-ACK报文段后,客户端也对服务器的SYN报文段进行确认,完成三次握手,此时双方都进入ESTABLISHED状态。每一个状态的转换都是为了确保连接的可靠性,如SYN-SENT确保了客户端已发送连接请求,SYN-RECEIVED确认了服务器已收到连接请求且准备接收数据。ESTABLISHED状态则表示双方已准备好数据传输。这一过程虽然确保了连接的可靠性,但同时也带来了一定的性能开销,如增加延迟和消耗系统资源。为了深入理解这些概念,强烈推荐查阅《TCP IP Illustrated Volume 3 英文版》。这本书由网络协议权威W.Richard Stevens编写,提供了对TCP/IP协议深刻而全面的描述,特别是对TCP三次握手的过程有详细的分析图解,是学习网络协议不可或缺的参考资料。 参考资源链接:[TCP IP Illustrated Volume 3 英文版](https://wenku.youkuaiyun.com/doc/64a550dab9988108f2e8ee80?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值