30.葫芦娃大战Http2

吹牛拍码

共 1543字,需浏览 4分钟

 · 2023-05-26

4b782283abba17d8f0168b01b2a6f55e.webp

0 葫芦娃之乱

http1.1末年,葫芦娃与妖精割据一方,他们各为其主、连年争战,搞得民不聊生。为了提高生活质量,http当局振臂一呼,组建新的权术部门http2,在葫芦娃与妖精之间合纵连横,最终成功拿捏膨胀过头的葫芦娃以及占山为王的妖精,史称葫芦娃之乱。


1 header压缩

6d9ec08030ecce678adf9d10584ea41e.webp

针对葫芦娃膨胀问题,http1.1当局也是焦头烂额,紧急出台了压缩葫芦娃的方案供妖精们参考。比如咱们在http的response header中如果看到了content-encoding: gzip,那就表明这只葫芦娃是被gzip压缩过的。要想知道它原来的样子,需要先解压释放出来才行。

但是创业初期,条件有限,妖精只学会了如何压缩body,却忘记了压缩header,导致web上流转的全是大头娃娃。 直到http2携带新算法hpack横空出世,才算推动了对header的压缩进程,自此葫芦娃再膨胀也可轻松拿捏


2 二进制分帧层

4a603d1569833544a2714b792586bd27.webp

为了促进葫芦娃之间的友好交流,各地修建信息高速公路,允许各家的葫芦娃们线上交流。但问题是有些家庭他不体面,生葫芦娃那都是一串一串的,所谓葫芦娃葫芦娃,一根藤上七朵花。无奈之下,http1.1当局规定每家最多同时只允许6条葫芦娃出门,多余的只能在家等待排队。

为了尽尽快出门,葫芦娃们也是奇招尽出,比如就有家庭把7个葫芦娃合一个葫芦小金刚的(雪碧图)。http当局显然也感觉到这不是长久之计,每家出动6个葫芦娃就是占用server的6条tcp连接,而tcp有慢启动问题,这也意味着网络带宽的利用率不高。于经过仔细借鉴,http当局推出了基于二进制分帧层的多路复用方案。

具体就是把葫芦娃们 打散成Frame,变成散装葫芦娃,到达目的地后再把葫芦娃组装出来 。这样就取消了每家最多同时6条葫芦娃出门的限制,也因此不再需要抢占6条tcp连接。通过多路复用同一条tcp连接,可以提高网络带宽的利用率,一家人出门终于可以整整齐齐了。

葫芦娃:每家限6人不公平。http当局:还没有限号呢,你就偷着乐吧


3 https加密

770c300c524006b6693219c5a2347eaa.webp

鉴于各地妖患横行,为了保护野生葫芦娃们的出行安全,http当局引入了SSL化妆技术,把http强化为https。只要出门前化上妆,路上就绝对不会被妖精识别出来。时至今日,出门前化个妆,已经成为野外生存的必备技能,深受广大葫芦娃特别是小姐姐们的喜爱。简单不方便,安全又放心。毕竟 出门在外,安全第一,友谊第二,比赛第三 嘛。

虽然http当局规定http2与SSL各卖各的,但众所周知:规定是规定,执行是执行。一方面占据浏览器6成江山chrome对所有不带SSL证书的网站持续打压,另一方面后端扛把子golang规定:想上http2必须出示SSL证书。时至今日,强买强卖已成定局,http当局也是睁一只眼闭一只眼。

4 妖精:想一起来打葫芦娃娃嘛

请加公众号panda-unique,拉你入群呀 ~

浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报