gZip和DEFLATE如何实际工作?

时间:2016-05-13 15:15:08

标签: php gzip

我在.htaccess文件中使用以下行:

####################
# GZIP COMPRESSION #
####################
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
Header append Vary User-Agent env=!dont-vary

我已经通过浏览器工具测试了它是否正常工作。

这里非常愚蠢的问题......但我是否必须实际压缩文件并提供gzip文件才能实现这一功能?

或者这是在浏览器消耗资源时发生的吗?

2 个答案:

答案 0 :(得分:3)

Apache模块mod_deflate为您进行压缩。

它是一个输出过滤器,它会在将数据发送到客户端之前对其进行压缩,具体取决于客户端是否能够真正理解压缩(这是协商的)。

答案 1 :(得分:0)

文件应该在服务器中进行压缩"在运行中"。您可以查看响应http标头Content-Encoding。它应该具有值gzip,表示文件在服务器端压缩并在客户端未压缩(显然,如果文件不是对浏览器有意义的话)