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

news2024/11/15 13:58:12

目录

实现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.coloradmin.cn/o/930396.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[NLP]深入理解 Megatron-LM

1. 导读 NVIDIA Megatron-LM 是一个基于 PyTorch 的分布式训练框架,用来训练基于Transformer的大型语言模型。Megatron-LM 综合应用了数据并行(Data Parallelism),张量并行(Tensor Parallelism)和流水线并…

Vue2向Vue3过度核心技术编程式导航

目录 1 编程式导航-两种路由跳转方式1.问题2.方案3.语法4.path路径跳转语法5.代码演示 path跳转方式6.name命名路由跳转7.代码演示通过name命名路由跳转8.总结 2 编程式导航-path路径跳转传参1.问题2.两种传参方式3.传参4.path路径跳转传参(query传参)5.…

从0开始实现一个三维绘图系统

文章目录 将图像嵌入tkinter简单的绘图系统导入数据三维绘图源代码 将图像嵌入tkinter tkinter是Python标准库中自带的GUI工具,使用十分方便,如能将matplotlib嵌入到tkinter中,就可以做出相对专业的数据展示系统,很有竞争力。 在…

【C进阶】指针(一)

大家好,我是深鱼~ 【前言】: 指针的主题,在初阶指针章节已经接触过了,我们知道了指针的概念: 1.指针就是个变量,用来存放地址,地址的唯一标识一块内存空间(指针变量)&a…

centos7装docker(在线与离线)

centos7装docker(在线与离线) 小白教程,一看就会,一做就成。 1.Docker是什么 Docker是一个开源的应用容器引擎,Docker可以让开发者打包应用及依赖包到一个轻量级、可移植的容器中,然后发布到任何Linux上运行…

stm32f103+CC2500PATR2.4SK

前言 记录一下自己最近在项目中用到并使用这个模块的使用过程。 模块介绍 模块特点 CC2500PATR2.4SK是集FSK/ASK/OOK/MSK.调制方式于一体的收发模块。它提供扩展硬件支持实现信息包处理、数据缓冲、群发射、空闲信道评估、链接 质量指示和无线电波唤醒,可以采用…

【Qt学习】03:QMainWindow

QMainWindow OVERVIEW QMainWindow一、QMainWindow1.菜单栏2.工具栏3.状态栏4.铆接部件5.核心部件6.练习 二、ui资源文件 QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏menu bar、多个工具栏tool bars、多个锚接部件dock widgets、一个状态栏status ba…

【SpringBoot】第二篇:RocketMq使用

背景: 本文会介绍多种案例,教大家如何使用rocketmq。 一般rocketmq使用在微服务项目中,属于分模块使用。这里使用springboot单体项目来模拟使用。 本文以windows系统来做案例。 下载rocketmq和启动: RocketMQ 在 windows 上运行…

基于ssm+vue德云社票务系统源码和论文

基于ssmvue德云社票务系统源码和论文063 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 1.选题的依据和意义 互联网时代,随着生活节奏的加快和不断上升的压力,人们急需寻找到情绪的宣泄…

你工作效率低,可能是因为不会Python...

前言 你是不是感觉你的工作非常无聊,每天有大量的重复性的工作要做,比如在我的工作中,就有很多类似的动作。每天早上要看我们DevOps流水线跑出的结果,查看各个微服务中的重复代码率是多少,有没有增加,Clea…

【Qt学习】06:事件与事件过滤器

OVERVIEW 事件与事件过滤器一、事件1.鼠标事件创建子类MyLabel重写鼠标事件提升Label控件为MyLabel 2.定时器事件timerEventQTimer 3.事件分发器(event函数)event函数重写event函数深入 二、事件过滤器1.事件过滤器2.事件处理的五个层次 事件与事件过滤器…

VMVareC++开发环境快速配置

OVERVIEW VMVareC开发环境快速配置ipgitvimgithubzshgcc&g&cmakesshifconfigmysqlnginxredisgdb VMVareC开发环境快速配置 VMVareC开发环境快速配置,为了省时间快速整理出文档方便以后快速配置, 按照这个流程直接可以快速得到一个舒适的C/C开发…

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks

这是一篇GNN的综述, 发表于2021年的TNNLS. 这篇博客旨在对GNN的基本概念做一些记录. 论文地址: 论文 1. 引言, 背景与定义 对于图像数据来说, CNN具有平移不变性和局部连接性, 因此可以在欧氏空间上良好地学习. 然而, 对于具有图结构的数据(例如社交网络 化学分子等)就需要用…

用AI + Milvus Cloud搭建着装搭配推荐系统

在上一篇文章中,我们学习了如何利用人工智能技术(例如开源 AI 向量数据库 Milvus Cloud 和 Hugging Face 模型)寻找与自己穿搭风格相似的明星。在这篇文章中,我们将进一步介绍如何通过对上篇文章中的项目代码稍作修改,获得更详细和准确的结果,文末附赠彩蛋。 注:试用此…

Excel 打开文件提示内存或磁盘不足

Excel表格打开文件时,提示内存或磁盘空间不足,Microsoft Excel 无法再次打开或保存任何文档,这是很多人都会遇到的问题,该如何解决这个问题呢?如果你是用Excel表格打开某个文件时遇到提示内存或磁盘空间不足&#xff0…

学好嵌入式,未来能干啥?

很多对嵌入式行业不了解的人会以为嵌入式就是单纯搞单片机的工作。甚至有很多专业学生也抱有这种观念。 这种现象的原因在于大学专业中没有专门针对嵌入式行业的完善专业体系。嵌入式的知识体系庞大,不同的方向需要的知识差异很大。关于嵌入式学习路线,网…

Django(4)-Django 管理页面

创建一个管理员账号 python manage.py createsuperuser运行项目,访问http://127.0.0.1:8080/admin,可以看到管理员界面 管理页面加上投票应用 polls/admin.py from django.contrib import admin# Register your models here. from .models import …

npm和yarn的区别?

文章目录 前言npm和yarn的作用和特点npm和yarn的安装的机制npm安装机制yarn安装机制检测包解析包获取包链接包构建包 总结后言 前言 这一期给大家讲解npm和yarn的一些区别 npm和yarn的作用和特点 包管理:npm 和 yarn 可以用于安装、更新和删除 JavaScript 包。它们提…

腾讯云服务器可用区是什么?可用区怎么选择?

腾讯云服务器可用区是什么意思?可用区是指同一地域内电力和网络互相独立的物理数据中心,腾讯云每个地域下都有多个可用区供选择,将应用部署到不同可用区能够做到故障隔离,提升应用的可靠性和容灾性,阿腾云来详细说下什…

SpringMVC 第二天

第 1 章 ModelAttribute 和 SessionAttribute[ 应 用 ] 1.1ModelAttribute 1.1.1 使用说明 作用: 该注解是 SpringMVC4.3 版本以后新加入的。它可以用于修饰方法和参数。 出现在方法上,表示当前方法会在控制器的方法执行之前,先执行…