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

计算机网络之http07 http2,http3

HTTP1.2

  1. http1.2都做了哪些优化
    (1)头部压缩 使用HPACK压缩头部 头部冗长,大量重复字段
    (2)二进制帧 将报文头部和内容字符编码改为二进制格式 字符编码未压缩
    (3)并发传输 解决h1.1 队头阻塞问题,多车道 头部阻塞
    (4)主动推送资源 例如css不需要请求 被动响应
  2. 头部压缩
    (1)头部字段的压缩 k
    (2)头部字段值的压缩 v
    (3)头部编码方式使用二进制编码
    使用的压缩算法为HPack算法
    原理:用较短的索引号来代替k
    静态字典
    对常用的k-v 或者k(v是变化的)创建字典表,61个
    (2)举例
    在这里插入图片描述
    server 对应索引54 占一个字节
    其值
    在这里插入图片描述
    在这里插入图片描述
    (3)动态字典
    静态字典只有61个头部字段,其它字段可以使用动态字典。动态字典根据双方交互中头部内容定,从62 开始。
    在这里插入图片描述
    动态表生效的前提是:在同一个连接上,该k-v使用多次,且不再改变

传输过程中没有在字典表中的字段也会使用hafma编码
在这里插入图片描述
3. 二进制帧
在这里插入图片描述
4. 并发控制
在这里插入图片描述
(1)stream由streamId唯一确认,stream内部的帧通过streamId与stream关联,stream可以看成一条高速公路
(2)message相当于http请求或回复,相当于在高速路上跑的车
(3)fream是报文的头部和内容,相当于货物,一个请求或响应可以对应一个帧,或多个帧
(4)客户端创建的stream是奇数,服务端是偶数 (双向车道)
(5)在同一stream中,帧必须是严格有序的 (请求或响应)
(6)一条stream中,可以同时跑多辆车
队头阻塞: 客户端使用管道技术按顺序发送http请求,服务器也是按顺序处理请求的,如果某个回复特别耗时,下面的回复也就阻塞了。
使用并发技术,可以并发处理请求,但是在一个stream中是有队头阻塞的
最初:
修一条路,一辆车
http1.1长连接 一条路,多辆车,但路上只能有一辆
http1.1管道: 一条路,多辆车,路上可以有多辆

http1.2 并发 一条路,多个车道,每个车道可以有多辆车

  1. 主动推送资源
    在这里插入图片描述
    (1)首先在服务器配置 /请求路径–自动发送的资源
    (2)先用一个PUSH_PROMISE帧告诉客户端,接下来在哪个stream中推送资源
    (3)推送资源
    在这里插入图片描述

HTTP3

  1. HTTP2遇到的问题
    (1)队头阻塞:因为http2是基于TCP的,当某个tcp数据包缺失,会一直等待,并不会给应用层。
    在这里插入图片描述
    (2)三次握手 TLS 四次握手耗时 3RTT
    在这里插入图片描述
    (3)网络迁移需要重新连接
    换网络,换端口等
    2.HTTP3
    在这里插入图片描述

在这里插入图片描述

相关文章:

计算机网络之http07 http2,http3

HTTP1.2 http1.2都做了哪些优化 (1)头部压缩 使用HPACK压缩头部 头部冗长,大量重复字段 (2)二进制帧 将报文头部和内容字符编码改为二进制格式 字符编码未压缩 (3)并发传输 解决h1.1 队头阻塞问题,多车道 …...

内网渗透(二十五)之Windows协议认证和密码抓取-使用Hashcat和在线工具破解NTLM Hash

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…...

TongWeb8防止System.exit代码导致的进程停止

现象:当应用中存在System.exit 、Runtime.exit代码执行时,会导致TongWeb进程停止,从而产生如下日志:2023-02-14 09:47:36 [WARN] - The web application [webtest01] is still processing a request that has yet to finish. This…...

PMP每年考几次,费用如何?

一,PMP每年考几次,怎么准备? PMP项目管理证书是美国PMI发起的在全球200多个国家进行的项目管理专业人士资格认证,它的含金量和给认证者带来的作用已经很明显。 PMP考试是项目管理专业人士资格认证考试,通过PMP考试是…...

【Kubernetes】【一】Kubernetes介绍

Kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应用程序定…...

C语言:结构体

往期文章 C语言:初识C语言C语言:分支语句和循环语句C语言:函数C语言:数组C语言:操作符详解C语言:指针详解 目录往期文章前言1. 结构体的声明2. 结构体变量的定义和初始化3. 结构体成员的访问3. 结构体传参…...

搭建pclpy环境与读取pandaset数据并转换为pkl格式为pcd格式

1.搭建pclpy环境 问题:需要处理pcd文件,于是开始摸索搭建环境,有python-pcl,但是安装过程频频出现问题,于是转向pclpy。 参考链接:GitHub - davidcaron/pclpy: Python bindings for the Point Cloud Libr…...

别在用scroll去做懒加载了,交叉观察器轻松搞定

Ⅰ、前言 「懒加载」是网页中非常 常见的;为了减少系统的压力,对于一些电商系统出场频率非常高;那么大家一般用什么方式去实现 「懒加载」 呢 ? ① 通过 scroll 的形式: 通过 滚动「scroll」事件,然后去判…...

工欲善其事,必先利其器,分享5款Windows效率软件

工欲善其事,必先利其器。作为全球最多人使用的桌面操作系统,Windows 的使用效率与我们的工作学习息息相关。今天,小编就为大家整理了5款提高效率的利器,让你的 Windows 更具生产力。 1.桌面自定义——Rainmeter Rainmeter是一款…...

机器学习笔记之生成模型综述(四)概率图模型 vs 神经网络

机器学习笔记之生成模型综述——概率图模型vs神经网络引言回顾:概率图模型与前馈神经网络贝叶斯网络 VS\text{VS}VS 神经网络表示层面观察两者区别推断、学习层面观察两者区别引言 本节将介绍概率图模型与神经网络之间的关联关系和各自特点。 回顾:概率…...

微信小程序 组件与页面交互 无反应的问题

使用组件 声明组件 1.在目录中右键,新建components 2.在页面的json,属性中加入"component": true, 编写组件 父 声明: "usingComponents": {"address": "../../components/address/address"},…...

maven相关概念以及no dependency information available错误修改

一,相关概念 1,Maven坐标 Maven定义了这样一组规则:世界上任何一个构件都可以使用Maven坐标唯一标识,Maven坐标元素包括groupId、artifactId、version、packaging、classifier,现在只要我们提供正确的元素坐标&#x…...

QML- 属性绑定

QML- 属性绑定一、概述二、 QML绑定使用三、从JavaScript创建属性绑定1. 调试绑定的覆盖2. 属性绑定使用 this一、概述 QML对象的属性可以被赋一个静态值,该值保持不变,直到显式地赋一个新值。但是,为了充分利用QML及其对动态对象行为的内置…...

MFC CObject的使用

目录1 从 CObject 派生类1.1 使用基本 CObject 功能1.2 添加运行时类信息1.3 添加动态创建支持1.4 添加序列化支持2 访问运行时类信息3 动态对象创建1 从 CObject 派生类 在 CObject 的讨论中,经常使用术语“接口文件”和“实现文件”。 接口文件(通常称…...

CNI 网络流量分析(六)Calico 介绍与原理(一)

文章目录CNI 网络流量分析(六)Calico 介绍与原理(一)介绍安装Calico-node初始化Calico-node 服务Felixconfdallocate-tunnel-addrsmonitor-addressesmonitor-tokenstatus-reporterbirdcalico-kube-controllersCNI 网络流量分析&am…...

机器视觉_HALCON_示例实践_1.检测圆形

文章目录一、引言二、检测圆形三、总结一、引言 前面的文(用户指南/快速向导)差不多已经把HALCON的基本内容讲完了,并且在学习过程中还跑过一个简单示例——在单一背景下定位回形针。示例跑过,顿时觉得自己行了,但如果…...

使用yolov5训练数据集笔记

准备工作 1. 安装labelimg labelimg:主要用于目标检测的目标框绘制,得到关于我们训练的边框位置、类别等数据 pip install labelimg2. 下载yolov5源码 我使用的是v7.0版本,直接下载即可,下载后解压出来 2.1 安装yolov5运行依赖包 进入…...

常用类详解(三)StringBuilder

(1)一个可爱的字符序列。此类提供一个与StringBuffer兼容的API,但不保证同步(StringBuilder不是线程安全的),该类被设计用作StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候。如果可能,建议优先采用该类&#x…...

OpenCV 文字绘制----cv::putText详解

opencv中除了提供绘制各种图形的函数外,还提供了一个特殊的绘制函数——在图像上绘制文字。这个函数cv::putText()。 具体形式如下: void cv::putText( cv::Mat& img, // 待绘制的图像 const string& text, // 待绘制的文字 cv::Point origin…...

同IP多个端口域名同时进行目录爆破

背景 目录爆破是信息收集不可缺的一部分 在渗透过程中,扫描地址时发现同IP下存在多个端口,且每个端口均属于域名,仅仅端口号不同 需求 同一个IP下,同时收集多个不同端口的域名目录爆破进行信息收集,且简单便捷(一行代码) 用到的工具 gobuster 下载地址:https://…...

react+antd+Table里切换Switch改变状态onChange 传参

场景&#xff1a;table列表里面&#xff0c;操作用Switch切换状态。对应列改变操作在colums里面// 表格行const colums: ColumnsType<potentialType> [{title: useLocale(创建时间),dataIndex: creation_date,key: creation_date,align: center,render: (v: string, rec…...

《底层逻辑:看清这个世界的底牌》读后感

书名《底层逻辑&#xff1a;看清这个世界的底牌》作者刘润简介如果只教给你各行各业的“干货”&#xff08;方法论&#xff09;&#xff0c;那只是“授人以鱼”&#xff0c;一旦环境出现任何变化&#xff0c;“干货”就不再适用。但如果教给你的是底层逻辑&#xff0c;那就是“…...

【2023】Prometheus-Blackbox_exporter使用

目录1.下载及安装blackbox_exporter2.修改配置文件设置监控内容2.1.使用http方式作为探测3.与prometheus集成4.导入blackbox仪表盘进行观测1.下载及安装blackbox_exporter 下载安装包 wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.23.0/black…...

嵌入式Linux学习经典书籍-学完你就是高手

很多刚入门的朋友一直都有人问我要学习资料&#xff0c;嵌入式实在太杂&#xff0c;网上很多人写的太不负责了&#xff0c;本书单综合了本人以及一些朋友多年的经验整理而成。 本人见识和阅读量有限&#xff0c;本书单可能有不对的地方&#xff0c;欢迎朋友指正&#xff0c;交…...

网络基础-基础网络命令

文章目录路由命令查询添加路由1.添加访问某台主机的静态路由2.添加访问某个网络的静态路由3.添加默认网关&#xff1a;删除设计关键字路由2参考路由 命令查询 通过 route --help 或man route 查询 添加路由 1.添加访问某台主机的静态路由 route add -host [目标主机IP地址…...

域对象共享数据

处理请求的过程&#xff1a;获取请求参数&#xff0c;调用service处理业务逻辑&#xff0c;往域对象中共享数据&#xff0c;最后实现渲染页面跳转。请求域中共享数据ModelAndView向request域对象共享数据ModelAndView&#xff1a;往域对象共享数据&#xff0c;并实现页面跳转和…...

【基于jeeSite框架】SpringBoot+poi+Layui自定义列表导出

文章目录功能效果思路代码前台后台easyPoi,easyExcel&#xff0c;poi三者的区别poipoi依赖导出ExcelHSSF方式导出XSSF方式导出SXSSF方式导出导入excelHSSF方式导入XSSF方式导入SXSSF方式导入easyPoi依赖包采用注解导出导入easyExcel依赖采用注解导出导入API文档easyPoi操作文档…...

使用 RGB 值设置颜色

使用 RGB 值设置颜色 另一种可以在 CSS 中表示颜色的方法是使用 RGB 值。 RGB 即红色、绿色、蓝色&#xff08;英语&#xff1a;Red, Green, Blue&#xff09;。 ● 红色&#xff08;R&#xff09;0 到 255 间的整数&#xff0c;代表颜色中的红色成分。。 ● 绿色&#xff08;G…...

【python学习笔记】:5个高效编程技巧

01 交换变量​​​​​​​ >>>a3 >>>b6 这个情况如果要交换变量在c中&#xff0c;肯定需要一个空变量。但是python不需要&#xff0c;只需一行&#xff0c;大家看清楚了​​​​​​​ >>>a,bb,a >>>print(a)>>>6 >>&g…...

IP多播技术详解

文章目录前言IP多播技术的相关基本概念IP多播地址和多播组在局域网上进行硬件多播IP多播地址和多播MAC地址映射关系在因特网上进行IP多播网际组管理协议IGMP多播路由选择协议前言 随着计算机网络的发展和个人计算机的普及&#xff0c;人们能够方便的在网络上畅游&#xff0c;进…...

网吧手机网站模版/站长之家ip地址查询

// // Name: CameraClass.h // Des: 一个封装了实现虚拟摄像机的类的头文件 // 2013年 3月10日 Create by 浅墨 //#pragma once#include <d3d9.h> #include <d3dx9.h>class CameraClass { private://成员变量的声明D3DXVECTOR3 m_vRightVector; …...

复制代码做网站/百度关键词优化多少钱

现在阿凉给大家带来的是小组赛第四场中的开辟鸿蒙VS斜月三星开辟鸿蒙的综合实力是209430斜月三星的综合实力是231117首先我们看到开辟使用的地阵&#xff0c;小克斜月的蛇阵不过值得关注的是斜月使用了新门派&#xff0c;月宫第一回合&#xff0c;开辟四只灵符女蜗开场&#xf…...

网站建设服务定制/免费私人网站建设平台

尝试用Python实现一些简单的算法和数据结构 之前的算法和数据结构基本都是用Swift写的&#xff0c;现在尝试用Python实现一些简单的算法和数据结构。 update 20160704 准备加入《剑指offer》的习题python实现,以及机器学习过程中的一些算法 update 20160717 加入leetcode部分 #…...

先备案还是先做网站/长沙快速排名优化

Java读取properties文件的方法比较多&#xff0c;网上我最多的文章是“Java读取properties文件的六种方法”&#xff0c;但在Java应用中&#xff0c;最常用还是通过java.lang.Class类的getResourceAsStream(String name) 方法来实现&#xff0c;但我见到众多读取properties文件…...

wordpress图像描述/如何优化搜索引擎的准确性

理解AdamW 我们先弄清楚什么是weight decay 其实是在损失函数求导后&#xff0c;放在正则项前面的系数&#xff0c;比如L2正则&#xff0c;我们看一下weight decay的位置 我们可以认为λ就是weightdecaymin⁡wL2(w)min⁡wf(w)λ2n∑i1nwi2L2′(w)f′(w)λn∑i1nwi我们可以认为…...

顺的品牌网站建设/品牌营销推广方案怎么做

# 周围可能有东西能帮到你。 # 首先&#xff0c;移动到橱柜。 hero.moveUp() hero.moveRight(2) hero.moveDown(2) # 然后&#xff0c;使用while-true循环攻击"Cupboard"&#xff08;橱柜&#xff09;。 while True: hero.attack("Cupboard")...