普通的客户端请求过程:
服务端推送的过程:
为什么需要头部(header)压缩?
假定一个页面有 100 个资源需要加载(这个数量对于今天的 Web 而言还是挺保守的),而每一次请求都有 1kb 的消息头(这同样也并不少见,因为 Cookie 和引用等东西的存在),则至少需要多消耗 100kb 来获取这些消息头。HTTP2.0 可以维护一个字典,差量更新 HTTP 头部,大大降低因头部传输产生的流量。具体参考:《HTTP/2 头部压缩技术介绍》 文章。
维护一份相同的静态字典(Static Table),包含常见的头部名称,以及特别常见的头部名称与值的组合。维护一份相同的动态字典(Dynamic Table),可以动态地添加内容。支持基于静态哈夫曼码表的哈夫曼编码(Hu?man Coding)。
彩蛋
感觉,大学丢掉的网络知识,又一次回到我的脑子中了。好开心,又可以遗忘一轮啦,哈哈哈哈。参考与推荐如下文章:
《Https 单向认证和双向认证》《【网络协议】ping 的工作原理》《HTTP1.0、HTTP1.1 和 HTTP2.0 的区别》《计算机网络常见面试题》《总结的网络面试题》《面试/笔试第一弹 —— 计算机网络面试问题集锦》《通俗大白话来理解 TCP 协议的三次握手和四次挥手》《TCP 数据的传输过程》《搞定计算机网络面试,看这篇就够了(补充版)》
计算机网络面试题 - 图文
普通的客户端请求过程:服务端推送的过程:为什么需要头部(header)压缩?假定一个页面有100个资源需要加载(这个数量对于今天的Web而言还是挺保守的),而每一次请求都有1kb的消息头(这同样也并不少见,因为Cookie和引用等东西的存在),则至少需要多消耗100kb来获取这些消息头。HTTP2.0可以维护一个字典,差量更新
推荐度:
点击下载文档文档为doc格式