Apache服务器开启gzip压缩

本文详细解释了如何在Apache服务器上启用HTTP压缩功能,包括浏览器支持检查、文件类型处理、缓存时间和异常解决策略,以及针对Netscape4.x浏览器的特殊配置。同时提到了跳槽时的职业发展考量。
摘要由CSDN通过智能技术生成

1、web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩(Accept-Encoding 信息);

2、如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;

3、如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;

4、如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;

5、如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;

6、如果请求文件是动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。

三、Apache中开启gzip压缩服务

1、修改Apache的http.conf文件,去除mod_deflate.so前面的“#”号注释:

LoadModule deflate_module modules/mod_deflate.so

接着在http.conf最末尾添加gzip压缩配置的代码:

GZIP压缩模块配置

告诉apache对传输到浏览器的内容进行压缩

SetOutputFilter DEFLATE

压缩等级 9

DeflateCompressionLevel 9

设置不对后缀gif,jpg,jpeg,png,exe等文件进行压缩

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png|exe|t?gz|zip|bz2|sit|rar|pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary

压缩类型 html、xml、php、css、js

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php text/css application/x-javascript

AddOutputFilter DEFLATE js css

里面的文件MIME类型可以根据自己情况添加,至于PDF 、图片、音乐文档之类的这些文件本身都已经高度压缩格式,重复压缩的作用不大,反而可能会因为增加CPU的处理时间及浏览器的渲染问题而降低性能。所以就没必要对其进行Gzip压缩。

2、对指定的文件配置缓存的生存时间,去除mod_headers.so模块前面的“#”号注释:

LoadModule headers_module modules/mod_headers.so

接着在http.conf最末尾添加文件缓存时间配置的代码:

文件缓存时间配置

<FilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf|js|css)$”>

Header set Cache-Control “max-age=2592000”

3、配置完成后,重启Apache服务即可。

四、Apache服务异常停止处理

如果在http.conf末尾添加Gzip压缩配置,且重启Apache服务后,发现服务无法正常启动,就用我这个方法:

1、查看Apache安装目录下conf/extra/下,是不是有一个httpd-deflate.conf文件

2、在http.conf添加对httpd-deflate.conf文件的引用,代码如下:

引用GZIP压缩模块配置文件

#Include conf/extra/httpd-deflate.conf

3、修改httpd-deflate.conf里的配置代码,如下:

DeflateFilterNote Input instream

DeflateFilterNote Output outstream

DeflateFilterNote Ratio ratio

LogFormat ‘“%r” %{outstream}n/%{instream}n (%{ratio}n%%)’ deflate

CustomLog logs/deflate.log deflate

压缩类型 html、xml、php、css、js

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php text/css application/x-javascript

Netscape 4.x has some problems…

BrowserMatch ^Mozilla/4 gzip-only-text/html

文末

当你打算跳槽的时候,应该把“跳槽成功后,我能学到什么东西?对我的未来发展有什么好处”放在第一位。这些东西才是真正引导你的关键。在跳槽之前尽量“物尽其用”,把手头上的工作做好,最好是完成了某个项目或是得到提升之后再走。跳槽不是目的,而是为了达到最终职业目标的手段

最后祝大家工作升职加薪,面试拿到心仪Offer



《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
r

[外链图片转存中…(img-Mz53q2Pp-1714653541152)]
[外链图片转存中…(img-u0k8LzVY-1714653541153)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 10
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值