当前位置: 首页 > news >正文

4.14 HTTPS 中 TLS 和 TCP 能同时握手吗?

目录

实现HTTPS中TLS和TCP同时握手的前提:

什么是TCP Fast Open?

TLS v1.3

TCP Fast Open + TLSv1.3


HTTPS都是基于TCP传输协议实现的,得先建立完可靠得TCP连接才能做TLS握手的事情。

实现HTTPS中TLS和TCP同时握手的前提:

1、客户端和服务端开启了TCP Fast Open,且TLS版本在1.3;

2、客户端和服务端已经完成过一次通信。

什么是TCP Fast Open?

常规的TCP传输协议通信需要先建立TCP三次握手后才可以传输数据,前两次握手是不可携带数据的,第三次握手可以携带数据,因为这个时候客户端进入ESTABLISHED,表明客户端一方已经完成了TCP连接建立。

TCP Fast Open 是为了绕过 TCP 三次握手发送数据,这个功能可以减少 TCP 连接建立的时延。要使用 TCP Fast Open 功能,客户端和服务端都要同时支持才会生效。

开启了TCP Fast Open功能,想要绕过TCP三次握手发送数据,还是需要事先建立一次三次握手。

所以,如果客户端和服务端同时支持 TCP Fast Open 功能,那么在完成首次通信过程后,后续客户端与服务端 的通信则可以绕过三次握手发送数据,这就减少了握手带来的 1 个 RTT 的时间消耗。

TLS v1.3

 TLSv1.3 握手过程只需 1-RTT 的时间

TCP Fast Open + TLSv1.3

客户端和服务端同时支持 TCP Fast Open 功能的情况下,在第二次以后到通信过程中,客户端可以绕过三次握手直接发送数据,而且服务端也不需要等收到第三次握手后才发送数据。

因此如果「TCP Fast Open + TLSv1.3」情况下,在第二次以后的通信过程中,TLS 和 TCP 的握手过程是可以同时进行的。

如果基于 TCP Fast Open 场景下的 TLSv1.3 0-RTT 会话恢复过程,不仅 TLS 和 TCP 的握手过程是可以同时进行的,而且 HTTP 请求也可以在这期间内一同完成。

http://www.lryc.cn/news/143876.html

相关文章:

  • 游戏开发服务器选型的横向对比
  • 【android12-linux-5.1】【ST芯片】HAL移植后配置文件生成报错
  • 基于深度神经网络的分类--实现与方法说明
  • Java“牵手”天猫商品快递费用API接口数据,天猫API接口申请指南
  • 哲讯科技携手无锡华启动SCM定制化项目,共谋数字化转型之路
  • ModaHub魔搭社区:将图像数据添加至Milvus Cloud向量数据库中
  • svn下载
  • 为什么说es是近实时搜索
  • 程序自动分析——并查集+离散化
  • Qt 获取文件图标、类型 QFileIconProvider
  • TopicExchange主题交换机
  • A Survey on Large Language Models for Recommendation
  • Springboot 入门指南:控制反转和依赖注入的含义和实现方式
  • 使用Tampermonkey(篡改猴)向页面注入js脚本
  • 软考高级系统架构设计师系列之:论文典型试题写作要点和写作素材总结系列文章二
  • 【Linux】如何在linux系统重启或启动时执行命令或脚本(也支持docker容器内部)
  • 医疗中心管理环境温湿度,这样操作就对了!
  • 嵌入式系统存储体系
  • 【Java架构-版本控制】-Gitlab安装
  • 关于disriminative 和 generative这两种模型
  • 关于Java中@Transient主键的作用的一些介绍
  • 死信队列理解与使用
  • tomcat 启动 java war 包
  • leetcode分类刷题:滑动窗口(三、两个序列+窗口定长类型)
  • 一个简单的web应用程序的创建
  • 分类行为的排斥作用
  • 表现层消息一致性处理
  • 【C语言进阶(8)】自定义数据类型1:结构体
  • 【Spring Boot】以博客管理系统举例,完整表述SpringBoot从对接Vue到数据库的流程与结构。
  • TabView 初始化与自定义 TabBar 属性相关