首页 > 其他分享 >http1.0和2.0的区别

http1.0和2.0的区别

时间:2023-05-15 09:24:33浏览次数:35  
标签:http1.0 HTTP 请求 区别 request header 2.0 连接 HTTP2.0

1.新的二进制格式(Binary Format):
HTTP1.x的解析是基于文本。(文本的表现形式有多样性,要考虑的场景很多才能做到健壮性)

基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮。

2.HTTP2.0比HTTP1.0有路复用(MultiPlexing):
即连接共享,即每一个request都是是用作连接共享机制的。一个request对应一个id,这样一个连接上可以有多个request,每个连接的request可以随机的混杂在一起,接收方可以根据request的 id将request再归属到各自不同的服务端请求里面。

3.header压缩:
HTTP1.x的header带有大量信息,而且每次都要重复发送,

HTTP2.0使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields表,既避免了重复header的传输,又减小了需要传输的大小。

4.服务端推送(server push):
HTTP2.0也具有server push功能。

附注

HTTP2.0的多路复用和HTTP1.X中的长连接复用有什么区别?

HTTP/1.* 一次请求-响应,建立一个连接,用完关闭;每一个请求都要建立一个连接;

HTTP/1.1 Pipeling解决方式为,若干个请求排队串行化单线程处理,后面的请求等待前面请求的返回才能获得执行机会,一旦有某请求超时等,后续请求只能被阻塞,毫无办法,也就是人们常说的线头阻塞;

HTTP/2多个请求可同时在一个连接上并行执行。某个请求任务耗时严重,不会影响到其它连接的正常执行。

标签:http1.0,HTTP,请求,区别,request,header,2.0,连接,HTTP2.0
From: https://www.cnblogs.com/october-sy/p/17400811.html

相关文章

  • unbuntu 火狐安装flash插件 Install Adobe Flash Player In Ubuntu 13.10,13.04,12.10
    InstallAdobeFlashPlayer PressCtrl+Alt+TforopenTerminalandtrythefollowingcommands;sudoadd-apt-repository"debhttp://archive.canonical.com/$(lsb_release-sc)partner"sudoapt-getupdate&&sudoapt-getinstallflashplugin......
  • event 和 this 的区别
    event和this的区别事件对象event​ 定义:包含事件相关信息的对象;这个事件例有事件触发时的相关信息​ 用于记录:哪个标签触发了该事件、哟用户按下哪个键触发该事件、鼠标位置event.target指的是所记录的事件对象环境对象this​ 定义:环境对象指的是函数内部特殊的......
  • Ubuntu 22.04 停止显示 Daemons using outdated libraries
    这是Ubuntu22.04的新特性,现在是apt-get安装过程的一个步骤,是由needrestart命令触发,默认情况是交互性质的,也就是会中断在这里需要手动要处理提示。解决的方法是修改/etc/needrestart/needrestart.conf文件,将#$nrconf{restart}='i';这行去掉注释,按照需要改成以下两......
  • i7 13700和13700K的区别 i713700和i713700K差距
    i7-13700K为16核24线程,即8大核8小核,主频3.4GHz,睿频5.3GHz,30MB三级缓存。单核跑分2090分,多核跑分16542分。组装电脑选i713700还是13700K怎么搭配更合适这些点很重要http://www.adiannao.cn/duintel13代酷睿i713700K相比i713700最大的区别在于支持超频,拥有不锁......
  • 函数strncpy和memcpy的区别
    1定义1.1memcpyvoid*memcpy(void*destin,void*source,unsignedn);参数*destin----需要粘贴的新数据(地址)*source----要拷贝的数据(地址)unsignedn----拷贝数据的字节数1.2strncpchar*strncpy(char*destinin,c......
  • 【❂Java集合】循环链表和双向链表的区别是是什么
    最后一个结点指针指向不同在建立一个循环链表时,必须使其最后一个结点的指针指向表头结点,而不是像双向链表那样置为NULL。此种情况还用于在最后一个结点后插入一个新的结点。判断链域值不同在判断是否到表尾时,是判断该结点链域的值是否是表头结点,当链域值等于表头指针时,说明已到......
  • Ubuntu22.04 将EFI启动分区迁移到另一块硬盘
    机器上有两块硬盘,一块已经安装了Win10,另一块新装Ubuntu22.04,在新硬盘上划分分区的时候,有分出256M给BOOTEFI,但是安装的时候没注意,启动分区不知道怎的跑到Windows所在的硬盘上了记录一下将/boot/efi分区迁移至Ubuntu所在硬盘,并创建Grub的记录.预留的boot......
  • 清爽商务范,丰盘ECM v2.0版本重磅推出!
    作者@KevinYang本月我们很高兴如期发布了丰盘ECM的v2商业化版本,增加了大量高级特性,例如全文检索、审计日志、文件标签、版本历史、在线评论等等,满足了更多企业客户的实际需求。丰盘ECM是基于Net6技术栈构建的一套企业私有文档管理系统,主要用于在企业私有内网或自购云主机上搭建......
  • n卡和a卡的主要区别
    n卡和a卡的区别1、GPU流处理器不同N卡的GPU中每个流处理器都具有完整的ALU功能,在发出一条操作指令时每个流处理器都能充分工作。A卡的GPU中每个流处理器的5个流处理单元都是固定的,不能拆开重组,每个流处理器只能处理一条4D指令。2、两者的设计侧重点不同N卡注重3D性能和速度,A......
  • Python-单引号、双引号和三引号的作用和区别
    (一)、作用 1.单引号:单引号内部为一串字符(str)。 2.双引号:双引号内部为一串字符,双引号内的字符串可以出现单引号(相当于双引号优先级更高),但不能嵌套双引号。 3.三引号:用于换行输出,且缩进会被打印出来。(三引号还可以用来进行块注释)。(二)、共同点python中变......