![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HTTP2
文章平均质量分 87
程序员小潘
Java开发工程师,现居杭州,CSDN博客专家,热衷于分享计算机编程相关知识,欢迎关注~
展开
-
Netty对HTTP2流控的支持
流量控制是HTTP/2的一项重要功能,它允许发送方根据接收方的处理能力来控制数据的传输速率。通过合理的流控机制,可以确保服务器和客户端之间的通信不会出现拥塞或资源浪费。其中,流量控制窗口的实现较为简单,流优先级的控制则需要一套复杂的算法来支撑,好在Netty已经帮我们实现了。原创 2023-08-14 19:47:18 · 1618 阅读 · 0 评论 -
Netty对HTTP2多路复用的支持
在HTTP/1.1中,连接可以被复用,但是连接上的请求-响应是串行的,如果要同时处理多个请求-响应,不得不开启多个连接,带来的问题就是消耗大量的资源。HTTP/1.x时代,TCP连接远远没有被有效利用,于是HTTP2带来了多路复用的新特性。原创 2023-08-14 19:46:29 · 484 阅读 · 0 评论 -
Netty对HTTP2 Frame编解码
在HTTP/1.x时代,HTTP是一个文本协议,简单直接,人类友好的可读性,头部和主体通过换行符来区分,计算机处理起来低效且容易出错。HTTP2打破了这个传统,它不改变HTTP协议的语义,请求响应仍然有头部和主体,只是在数据传输上做了改变,由之前的文本改为二进制分帧传输。原创 2023-08-14 19:44:44 · 291 阅读 · 0 评论 -
Netty对HPACK头部压缩的支持
HTTP2终于支持对头部进行压缩传输了,Netty很早就支持HTTP2了,看下Netty对HPACK的实现源码,可以对HPACK理解的更深一下。原创 2023-08-14 19:43:48 · 204 阅读 · 0 评论 -
HTTP2之HPACK头部压缩
在HTTP/1.x时代,只有消息体才支持压缩,因为一般来说,消息体通常比头部要大,对消息体进行压缩,可以减小数据包的大小,提升传输性能。cookieAcceptUser-Agent等等,这些信息基本每次请求都不会改变,但是每次请求都需要重复的传输,实在是没有必要。我们又知道,对于重复的数据,是很好压缩的,只需要为出现频次极高的词组建立一张索引表,传输的时候只需要一个索引号即可,大大减少了数据传输的长度,这就是压缩算法中极为常见的查表法。因此,HTTP2协议终于支持对头部进行压缩了!原创 2023-08-14 19:42:53 · 629 阅读 · 0 评论 -
HTTP2协议介绍
HTTP是现代互联网通信的基础协议之一,早在1991年,HTTP/0.9版本就诞生了,之后又陆续发布了HTTP/1.0和HTTP/1.1,为互联网应用提供了更高效和可靠的通信方式。随着时间的推移,互联网的规模和复杂性不断扩大,HTTP/1.1的一些限制也逐渐显现出来,例如串行的请求-响应机制、头部冗余和响应阻塞等。这些问题影响了网页加载速度、性能和用户体验。为了克服这些挑战并引领下一代Web协议的发展,HTTP2在2015年正式发布。原创 2023-08-14 19:42:12 · 549 阅读 · 0 评论 -
HTTP协议的发展过程
HTTP协议是一种用于在网络上传输信息的应用层协议,它为万维网的运作提供了基础。最早的版本是HTTP/0.9,它是HTTP协议的第一个版本,诞生于1991年,其设计初衷是为了在计算机之间传输简单的超文本文档,即HTML。在HTTP2之前,HTTP一直都是基于文本的协议,足够的简单、良好的可读性是HTTP协议能取得如此成功的重要原因之一。然而,随着互联网的发展和网页内容的复杂性增加,基于文本的HTTP协议逐渐暴露出一些性能上的限制。为了解决这些问题,才有了HTTP2。原创 2023-08-14 19:41:24 · 131 阅读 · 0 评论