performance - 有哪些内容不应该进行 gzip 压缩吗?

标签 performance http gzip

我正在运行的 Facebook 应用程序位于 app.[domain] 域中。所有静态内容都存储在 /public 路径中。但是,内容是通过无 cookie 别名域 static.[domain] 主机加载的。

鉴于目前的设计,我可以轻松创建所有静态文件的副本,对其进行 gzip 并明确用于通过 static.[domain] 主机提供服务。

但是,我应该排除任何类型的文件进行 gzip 压缩吗? (除了已经压缩的内容......)

最佳答案

通常,压缩已经很好压缩的数据会浪费资源。第二次压缩几乎不会带来大小差异(甚至在极端情况下数据会略有增长),但会花费您和您的用户额外的 CPU 时间来首次压缩数据然后解压缩。

实际上,这意味着您应该避免压缩:大多数网页图像格式(JPG、PNG、GIF)、几乎所有 A/V 多媒体(音频:MP3、OGG、FLAC;视频:MPG、MP4、AVI 等) ,当然还有常见的存档格式(ZIP、GZIP、BZ2、RAR、7ZIP、ARJ 等)。此外,OpenDocument(.ODF 等)和新的 MS Offices 文件(.DOCX 等)以及 Java JAR 文件都是内部 ZIP 存档,因此它们也不需要压缩。有些 PDF 是内部压缩的,而另一些则不是。压缩非常小的文件(少于一百字节左右)也可能无效,具体取决于内容。

您也可以采取相反的方向,仅显式列出应压缩的文件类型,而让其他文件类型不压缩。压缩效果最好的是文本文件:纯文本 (TXT)、HTML、CSS 样式表、JavaScript (JS) 文件。

关于performance - 有哪些内容不应该进行 gzip 压缩吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9778351/

相关文章:

c# - gzipstream 用于套接字上的仅转发流

c++ - 升压asio : Unable to read URL Body (JSON)

node.js - 为什么 HTTP 请求和响应对象在 Node.js 流中?

python - 使用数组提高Python代码的效率

ios - 每次启动时 UIWebView 白屏,同时预加载所有选项卡

http - 如何在没有提供 Accept header 的情况下在 Spring MVC 中设置默认内容类型?

hadoop - 如何使用 wholeTextFiles 在 Spark 中读取 gz 文件

java - 如何从 S3 下载 GZip 文件?

javascript - JS : Assigning a variable in the parent scope of a closure costs performance. 为什么?

c++ - 从文件中读取大量数据并以有效的方式解析日期。如何提高海量数据的性能?