mod_deflate vs mod_gzip

Bac*_*alo 30 apache gzip mod-deflate

有人能告诉我以下脚本在CP​​U负载性能和压缩方面的区别吗?

<ifModule mod_gzip.c> 
mod_gzip_on Yes 
mod_gzip_dechunk Yes 
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ 
mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* 
mod_gzip_item_include mime ^application/x-javascript.* 
mod_gzip_item_exclude mime ^image/.* 
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* 
</ifModule> 


<ifModule mod_deflate.c> 
<filesMatch "\.(js|css)$"> SetOutputFilter DEFLATE </filesMatch> 
</ifModule> 
Run Code Online (Sandbox Code Playgroud)

tho*_*ter 11

mod_gzip和mod_deflate是用于向Apache添加gzip压缩的两个备用模块.mod_deflate现在更现代,推荐使用,并与Apache一起发布.

不要被名字所迷惑,认为他们使用不同的压缩方案.它们都使用gzip(它是DEFLATE压缩格式的包装器).后者仅被称为mod_deflate,因为名称为mod_gzip.它们都将在相同的设置下实现基本相同的压缩级别.

它们具有不同的配置,因此您需要查找您正在使用的特定文档的文档.

  • 经过几年和一些喋喋不休,最后有人发布了OP的实际答案. (3认同)

小智 9

我猜你问的是这两者之间的差异,而不是一般的压缩.在这种情况下,我建议使用mod_deflate,它依赖于仍处于活动状态的项目zlib.BTW,比较两者的旧文章(6-7岁)不再相关.


小智 6

大多数压缩算法在应用于纯文本文件时,可以将其大小减小70%或更多,具体取决于文件中的内容.使用压缩算法时,标准压缩级别和最大压缩级别之间的差异很小,尤其是当您考虑处理这些额外压缩过程所需的额外CPU时间时.在动态压缩Web内容时,这非常重要.大多数软件内容压缩技术使用6级压缩级别(9级),以节省CPU周期.级别6和级别9之间的文件大小差异通常很小,以至于不值得花费额外的时间.

对于标识为文本/.*MIME类型的文件,可以在将文件放在网络上之前对文件应用压缩.这同时减少了传输的字节数并提高了性能.测试还表明,Microsoft Office和PostScipt文件可以通过GZIP编码,以便由压缩模块进行传输.

一些无法进行GZIP编码的重要MIME类型是外部JavaScript文件,PDF文件和图像文件.Javascript文件的问题主要是由于浏览器软件中的错误,因为这些文件实际上是文本文件,并且通过压缩传输可以使整体性能受益.PDF和图像文件已经被压缩,并且尝试再次压缩它们只会使它们变大并导致浏览器可能出现渲染问题.

在将压缩文件发送到客户端之前,服务器确保接收数据的客户端正确理解并呈现压缩格式至关重要.了解压缩内容的浏览器会发送以下客户端请求标头的变体:

Accept-encoding: gzip

Accept-encoding: gzip, deflate 
Run Code Online (Sandbox Code Playgroud)

当前的主要浏览器包括它们发送的每个请求的此消息的一些变体.如果服务器看到标头并选择提供压缩内容,它应该响应服务器响应标头:

有关详细信息,请参阅此文章:http://www.linuxjournal.com/article/6802

  • 这个答案提供了很多有用的信息,但根本没有解决这个问题:哪个是更好的选择,为什么? (8认同)
  • 这种复制和粘贴工作甚至没有尝试回答实际问题。我不知道为什么它受到了积极的欢迎。 (2认同)