首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTP/2流和静态压缩

HTTP/2流和静态压缩
EN

Stack Overflow用户
提问于 2018-06-23 14:11:11
回答 1查看 191关注 0票数 0

我需要在节点和http2中实现一个C++服务器。无论如何,我无法理解如何使流在静态压缩中工作:

  • 我想用尽可能高的压缩来压缩我的文件,这是在构建时静态完成的。
  • 我想要流我的HTML,这样浏览器就能尽快接收到<head>,并且可以预取资源或者从本地缓存中检索它们。

但是压缩的文件不能在接收所有数据之前被读取,对吗?

我应该放弃压缩,还是应该单独压缩HTML流块?有更好的办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-23 15:14:06

但是,在接收所有数据之前,无法读取压缩的文件,对吗?

这通常是不正确的。用于HTML文件的基于压缩的压缩(例如gzip、brotli)可以在不接收所有数据的情况下进行解压缩。

这些工作主要是通过反向引用数据。例如,上面的句子重复引用了“压缩”文本:

基于压缩的压缩离子(例如gzip、brotli)可以在不接收所有数据的情况下进行压缩

因此,第二个实例可以替换为对第一个实例的反向引用:

基于压缩的压缩(例如gzip、brotli)可以在不接收所有数据的情况下进行de(-49,8)。

因此,您可以看到,只要您按顺序阅读( HTTP保证),并且从一开始就不需要任何后续数据来解压缩您已经收到的内容--但是您确实需要任何以前的文本。

类似地,JPEG通常在被完全接收之前显示,或者逐行加载它(非渐进JPEG),或者有一个模糊的图像,当加载更多的数据时会增强它(渐进JPEG)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51001983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档