http/2的发展和使用

http/2的发展和使用

背景

2012年时谷歌推出了spdy/2协议,这个协议就是http/2发展的前身。2015年9月nginx开始正式推出了http/2替换spdy(nginx 1.9.5). http/2是从http/1.x开始最大版本的更新,国内貌似还没有将http2作为主流,依然使用这http/1.1。这个背后肯定是有着底层原因。对比http1.1,它一样也有优势和劣势。

介绍

http/2的新功能有哪些?
1.多路复用
2.头部压缩
3.原生二进制
4.优先级传输机制

多路复用

在这里插入图片描述

将同一个host的请求合并在一个TCP连接中,这样就不用为多个请求建立连接,因为请求和响应都在一个连接中,所以这样就需要区分请求和响应的对应,http/2的实现中,采用为每个请求带上标识信息和数据大小,这样服务端才能区分请求。多路复用好处肯定很明显,减少连接的建立,建立连接就要握手,而握手是很耗费性能的,现在大部分的客户端和服务器都只支持在TLS上的http/2,因为TLS的连接建立会麻烦点,https中需要2次RTT的时间,而http/2中在TLS上扩展了APLN协议,减少了握手次数,只需要一次RTT时间,对于明文传输的情况,握手还是一样,所以在http/2没有节省多少时间,但是多路复用也有劣势,因为需要标识信息,所以多了额外的数据传输,如果只有一条数据流的情况,多路复用就没有很大的优势。

头部压缩

http/2支持将头部数据压缩,这看起来节省了数据量传输,但是这只在cookie很大的情况才真的有用,因为压缩意味着需要解压,这给服务器也带来了内存和计算的压力,内存压力在于头部压缩是有状态的,需要存储一些解压和压缩的信息。

优先级机制

这个机制解决了多路复用中哪个响应对应哪个请求的问题

什么时候使用它

在这里插入图片描述

从上面的测试结果来看,对于低延迟的环境和开启了keep-alive的情况下,是不需要升级到http/2的。
HTTP/2需要ALPN Application‑Layer Protocol Negotiation 扩展,该扩展只在OpenSSL 1.0.2被支持。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PS/2鼠标/键盘协议是一种用于连接计算机和鼠标/键盘的串行协议。它被广泛应用于早期的个人计算机和现在一些特定领域的计算机中。PS/2协议使用两根线(一根用于数据传输,另一根用于时钟同步)来进行通信。 PS/2鼠标/键盘协议的工作原理是这样的:首先,当用户操作鼠标或键盘时,它们会产生一个电信号,在鼠标中是一个关于鼠标移动的信号,在键盘中是一个关于按键的信号。接下来,这个信号会通过数据线传输到计算机。同时,时钟线会提供一个时钟信号,以确保数据的同步。 在传输开始之前,计算机会向设备发送一个初始化命令。然后,设备开始发送数据,每个数据包都以一个起始位开始,随后是8个数据位,然后是一个校验位和一个停止位。校验位用于检测数据传输的准确性,而停止位用于标记数据传输的结束。计算机在接收到数据后,会对数据进行处理并执行相关的操作。 PS/2协议的一个优点是其简单性和可靠性。它不需要复杂的硬件支持,只需要两根线即可进行通信。另外,PS/2设备通常比其他接口(如USB)更便宜,因此在某些场景下仍然有广泛的应用。 然而,随着技术的发展,PS/2协议逐渐被USB接口取代。USB接口更快,支持更多的设备和功能,并且更容易插拔。因此,在现代计算机中,PS/2接口已经变得相对较少见,但在特定领域仍然可以看到它的身影。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值