详解HTTP2四大核心特性( 二 )
HTTP/1.1自从1997年发布以来,我们已经使用HTTP/1.x 相当长一段时间了,但是随着近十年互联网的爆炸式发展,从当初网页内容以文本为主,到现在以富媒体(如图片、声音、视频)为主,而且对页面内容实时性高要求的应用越来越多(比如聊天、视频直播),于是当时协议规定的某些特性,已经无法满足现代网络的需求了。
二、HTTP/1.1的缺陷
1.高延迟--带来页面加载速度的降低
虽然近几年来网络带宽增长非常快,然而我们却并没有看到网络延迟有对应程度的降低。网络延迟问题主要由于队头阻塞(Head-Of-Line Blocking),导致带宽无法被充分利用。
队头阻塞是指当顺序发送的请求序列中的一个请求因为某种原因被阻塞时,在后面排队的所有请求也一并被阻塞,会导致客户端迟迟收不到数据。针对队头阻塞,人们尝试过以下办法来解决:
Spriting合并多张小图为一张大图,再用Java或者CSS将小图重新“切割”出来的技术。内联(Inlining)是另外一种防止发送很多小图请求的技巧,将图片的原始数据嵌入在CSS文件里面的URL里,减少网络请求次数。.icon1 { background: url(data:image/png;,) no-repeat; } .icon2 { background: url(data:image/png;,) no-repeat; } 拼接(Concatenation)将多个体积较小的Java使用webpack等工具打包成1个体积更大的Java文件,但如果其中1个文件的改动就会导致大量数据被重新下载多个文件。将同一页面的资源分散到不同域名下,提升连接上限。 Chrome有个机制,同一个域名同时最多只能建立6个TCP连接,如果在同一个域名下同时有10个请求发生,那么其中4个请求会进入排队等待状态,直至进行中的请求完成。2.无状态特性--带来的巨大HTTP头部
推荐阅读
- 马超|2200分最难打?北慕庆幸自己大号逃脱,玩一天快把四大导演撞全了
- 原神|原神:阿贝多有什么用?兼顾副C与辅助,三大作用机制详解
- 打野|王者荣耀:玩打野你不得不明白的四大逻辑,野王并不是谁都能当
- |《哈利波特: 魔法觉醒》学院活动保护南瓜攻略详解教程
- 碧蓝航线|碧蓝航线SR重巡福煦数据详解 期待越高失望越大 强度平平无奇
- 司南|DNF:第一“凶兽司南”,四大凶兽齐聚,能爆出何等极品?
- fate grand order|fgo五星降临者梵高强度详解 暴击队最强天拐核心 从此刀刀烈火
- steam|阴阳师铁鼠新皮肤详解 对弈竞猜破产风格 玩家遭遇天台局的现状
- 伊利丹·怒风|魔兽TBC:伊利丹招牌技能,“剪切”机制详解,盾坦闭眼都能抗?
- 假面骑士|假面骑士live腰带官方详解 蝙蝠拔刀和拔枪 加油枪和手持吸尘器