HTTP1和HTTP2和HTTP3的区别

超文本传输协议是一个简单的请求-响应协议,它通常运行在TCP之上。

目录

HTTP1.1:

 HTTP2

HTTP3

参考文献


HTTP1.1:

特点:

1.一条链接只能一次请求一次返回这样子来回。一般的我们浏览器会帮我们一次次请求和收到。

2.每次链接都需要TCP经过3次握手。为了加快速度,浏览器一般会同一连接6个请求路。

但是即使有6个连接还是有问题。

即使其他5个文件收到了,其中一个CSS文件没收到导致浏览器无法渲染。所以HTTP1可以允许一个连接发送多个请求,但是多个请求的响应顺序一定要按顺序相应才行。所以在开发上很多人将多个文件合并在一起,作为一个文件请求发送过来。

 后来,1.为了安全连接,HTTP+TSL  = 3+4或者3+2次握手.

2.再加上TCP慢启动

3. HTTP1首部不压缩臃肿和冗余

 HTTP2

相比于HTTP1, HTTP2多了多路复用。主要解决HTTP1队头阻塞问题。单个TCP就能进行交错发送和相应,并且请求和相应不影响。这是因为HTTP2的桢多了流标识符,利用流标识符发送就可以相应组合。

HTTP2首部和主体都压缩。 使用HPACK压缩算法。这个要求浏览器需要保存HPACK压缩表。另外,重复的首部可以去掉,cooket可以作为动态信息加入动态表。

HTTP2的TCP+TLS 的握手问题还是没有解决。并且HTTP2一次请求会默认把所有觉得需要的链接一口气发送,这样导致服务器压力大,DDOS攻击难防。

HTTP3

整合TCP+TLS的握手。QUIC握手只需要来回2次握手,如果是恢复的话还可以0次RTT。

参考文献

HTTP/1.1,HTTP/2和HTTP/3的区别_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/2620.shtml

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

相关文章

第八十八回:创建一个调色板

文章目录 概念介绍实现方法整体思路具体步骤 示例代码 我们在上一章回中介绍了打印日志相关的内容,本章回中将介绍 如何创建一个调色板.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在本章回中介绍的调色板是一个具有各种颜色的窗口&#xff0c…

EDM营销过时了?不,这才是跨境电商成功的最佳工具

根据最近的一项研究,电子邮件仍然是最具说服力的营销工具和沟通形式之一。虽然即时通讯等其他渠道正在扎根,但电子邮件仍然是影响最深远的商业交流形式。到2023年,每天发送和接收的电子邮件总数可能会超过333亿封。所以,如果您希望…

iOS 中支持点击网页scheme超链接打开其他app

网页内容如图所示 思路,点击网页中一个href 超链接的时候,会执行 decidePolicyForNavigationAction 方法,我们在改方法中截获URL, 判断如果是URL scheme类型的,则执行 [[UIApplication sharedApplication]openURL:URL…

XUbuntu22.04之vim无法复制内容到系统(一百八十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

牛客小白月赛75题解

C 豆子 构造题 由构造公式知 第n级好豆子 第n-1级坏豆子^1 所以只需要构造一个豆子结构就行 第 i 级豆子 第 i 级豆子 第 i 级豆子 第 i 级豆子 第 i 级豆子 ^ 1 第i级豆子\begin{aligned} 第i级豆子 && 第i级豆子 \\ 第i级豆子 && 第i级豆子 \verb|^| 1 …

Nginx Linux设置开机自启动

使用如下命令 vi /lib/systemd/system/nginx.service 创建并编辑文件将以下代码黏贴至此文件中 [Unit] Descriptionnginx Afternetwork.target[Service] Typeforking TimeoutSec0 #防止启动超时 Userroot Grouproot criptionnacos Afternetwork.target[Service] Typeforking T…

习题-Java网络编程

目录 1.TCP-对象 2.UDP​​​​​​​​​​​​​​ 1.TCP-对象 利用TCP传输对象信息,需要对对象进行实例化 User类: package dh09.demo02;import java.io.Serializable;public class User implements Serializable {private String name;private St…

使用Postman+JMeter进行简单的接口测试

以前每次学习接口测试都是百度,查看相关人员的实战经验,没有结合自己公司项目接口真正具体情况。 这里简单分享一下公司项目Web平台的一个查询接口,我会使用2种工具Postman和JMeter如何对同一个接口做调试。 准备工作 首先,登录公…

基于FME二开产品:NewGIS integration介绍

目录 前言 一、模板上传 二、模板在线运行 1.模板参数解析 2.模板运行 三、成果管理 总结 前言 爆肝两个月,我和我的团队终于打造出了一款能完美适配所有FME模板的在线模板管理平台,目前支持FME2021版本的所有模板的在线运行、管理。整体技术框架…

uni-app:常见组件view、text、icon

根据html:可知div是块级标签,span是行级标签 这里view类似于div,text类似于span,即 块级标签:view 行级标签:text、icon 类似效果 两个icon图标,置于第一排 两个view,分别位于第…

项目名称:无源在线词典项目

一,概述 基于C语言的网络电子词典项目,使用到了tcp协议的并发服务器设计、网络编程、文件I/O、数据库等多方面的知识。可以满足多用户同时登陆,用户登陆后可以查询单词及历史记录,具有查找快速,保密性好等优点。 开…

JAVA集成国密SM4

JAVA集成国密SM4加解密 一、pom配置二、代码集成2.1、目录结构2.2、源码2.3、测试 三、遇到的坑3.1、秘钥长度3.2、转码问题 四、相关链接 国密算法概述:https://blog.csdn.net/qq_38254635/article/details/131801527 SM4对称算法 SM4 无线局域网标准的分组数据算…

c++内存映射文件

概念 将一个文件直接映射到进程的进程空间中(“映射”就是建立一种对应关系,这里指硬盘上文件的位置与进程逻辑地址空间中一块相同区域之间一 一对应,这种关系纯属是逻辑上的概念,物理上是不存在的),这样可以通过内存指针用读写内…

qt 32位编译 内存溢出 无法 运行在win7 32位

项目在 编译32位系统 内存溢出 设置成了x64 但是 最后在xp32位系统运行提示 在下载了n个dll之后发现这种状况无穷无尽,后来在查阅资料时发现可以直接打开qt安装目录下的“vcredist”文件夹,将对应位数的程序拷到win7电脑上,直接运行&…

Orleans 微软基于 Actor 的分布式框架

一、Actor模型工作原理 Actor模型是一种并发编程模型,它基于消息传递实现,是一种轻量级的并发模型。在Actor模型中,每个Actor都是一个独立的执行单元,它可以接收和发送消息,并且可以执行一些本地操作,但是不…

【ARM Cortex-M 系列 1 -- Cortex-M0, M3, M4, M7, M33 差异】

文章目录 Cortex-M 系列介绍Cortex-M0/M0 介绍Cortex-M3/M4 介绍Cortex-M7 介绍Cotex-M33 介绍 下篇文章:ARM Cortex-M 系列 2 – CPU 之 Cortex-M7 介绍 Cortex-M 系列介绍 Cortex-M0/M0 介绍 Cortex-M0 是 ARM 公司推出的一款微控制器(MCU&#xff0…

网络安全在2023好入行吗?

前言 023年的今天,慎重进入网安行业吧,目前来说信息安全方向的就业对于学历的容忍度比软件开发要大得多,还有很多高中被挖过来的大佬。 理由很简单,目前来说,信息安全的圈子人少,985、211院校很多都才建…

高时空分辨率、高精度一体化预测技术之风、光、水能源自动化预测技术

能源是国民经济发展和人民生活必须的重要物质基础。在过去的200多年里,建立在煤炭、石油、天然气等化石燃料基础上的能源体系极大的推动了人类社会的发展。但是人类在使用化石燃料的同时,也带来了严重的环境污染和生态系统破坏。近年来,世界各…

python appium UI 自动化测试框架讨论

目录 前言: 框架共性总结 Auto_Analysis 权限弹窗识别 前言: Python Appium UI自动化测试框架是一种用于测试移动应用程序的工具,它结合了Python编程语言和Appium测试框架的功能。 框架共性总结 1 自动找设备 连接设备 2 自动启 appium …

《数据结构》数据结构概念,顺序表,链表

目录 1. 为什么学习数据结构? 2. 数据结构 2.1. 数据 2.2. 逻辑结构 2.3. 存储结构 2.4. 操作 3. 算法 3.1. 算法与程序 3.2. 算法与数据结构 3.3. 算法的特性 3.4. 如何评价一个算法的好坏 4. 线性表 4.1. 顺序表 4.2. 单向链表 4.3. 单向循环链表&…