1、Apache服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩(Accept-Encoding 信息)。
2、如果浏览器支持HTTP压缩,Apache服务器检查请求文件的后缀名。
a、如果请求文件是HTML、CSS、JS、Images等静态文件(假设设置了针对这些文件启用压缩的情况下),Apache服务器从压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件,如果不存在,返回压缩的请求文件,并在压缩缓冲目录中存放压缩文件,如果已经存在,则直接返回请求文件的压缩文件。
b、如果请求文件是动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
Apache支持Gzip压缩的配置
1、编辑 http.conf 文件,开启mod_deflate模块
去掉 #LoadModule headers_module modules/mod_headers.so 前面的注释#
去掉 #LoadModule deflate_module modules/mod_deflate.so 前面的注释#
去掉 #LoadModule filter_module modules/mod_filter.so 前面的注释#
2、配置Gzip压缩相关参数
<IfModule deflate_module> DeflateCompressionLevel 6 #推荐值 SetOutputFilter DEFLATE AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript AddOutputFilterByType DEFLATE image/* SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary AddOutputFilterByType DEFLATE text/* AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp </IfModule>摘自:http://www.leixuesong.cn/2852