设为首页 收藏本站
查看: 614|回复: 0

[经验分享] Apache httpd 2.4.27开启GZIP压缩功能

[复制链接]

尚未签到

发表于 2017-12-25 09:06:02 | 显示全部楼层 |阅读模式
  转载自素文宅博客:https://blog.yoodb.com/yoodb/article/detail/1373
  HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台。当应用Gzip压缩到一个纯文本文件时,效果是非常明显的,大约可以减少40%以上的文件大小。利用Apache中的Gzip模块,可以使用Gzip压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端浏览器。这样经过压缩后实际上降低了网络传输的字节数,最明显的好处就是可以加快网页加载的速度。
  减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
  目前Apache httpd最新版本Apache httpd 2.4.27,官网http://httpd.apache.org/
  GZip压缩的基本流程如下:
  1. Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩(Accept-Encoding 信息);
  2. 如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
  3. 如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
  4. 如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
  5. 如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
  6. 如果请求文件是动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
  开启GZIP步骤
  1. 编辑 http.conf 文件
  LoadModule headers_module modules/mod_headers.so
  LoadModule deflate_module modules/mod_deflate.so
  LoadModule filter_module modules/mod_filter.so
  如果前面有#删除即可(“#”注释掉的内容),没有上述配置的话在最后增加上去,注意开启gzip压缩会消耗额外cpu资源。

  • 文件末尾加上  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/json #对指定的内容进行压缩,压缩方式为默认
  其他配置说明:
  DeflateCompressionLevel 6
  SetOutputFilter DEFLATE #压缩所有文件
  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/JavaScript application/x-javascript application/javascript application/json
  SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)no-gzip dont-vary #设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩  
  SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar) no-gzip dont-vary #设置不对exe,tgz,gz。。。的文件进行压缩
  SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
  AddOutputFilterByType DEFLATE text/* #设置对文件是文本的内容进行压缩,例如text/html text/css text/plain等
  AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript #对javascript文件进行压缩
  AddOutputFilterByType DEFLATE application/x-httpd-PHP application/x-httpd-fastphp #告诉apache对php类型的文件进行压缩
  BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.x 有一些问题,只压缩文件类型是text/html
  BrowserMatch ^Mozilla/4.0[678] no-gzip # Netscape 4.06-4.08 有更多的问题,不开启压缩
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # IE浏览器会伪装成 Netscape

  • 重启apache服务,执行service httpd restart命令。
  浏览器支持接受相应的gzip压缩:
  Accept-Encoding: gzip 支持mod_gzip
  Accept-Encoding: deflate 支持mod_deflate
  Accept-Encoding: gzip,deflate
  同时支持mod_gzip 和mod_deflate Apache内置有mod_deflate模块来启用gzip功能。
  mod_gzip 和mod_deflate的主要区别是什么?(网络资料)
  首先一个区别是安装它们的Apache Web服务器版本的差异。Apache 1.x系列没有内建网页压缩技术,所以才去用额外的第三方mod_gzip 模块来执行压缩。而Apache 2.x官方在开发的时候,就把网页压缩考虑进去,内建了mod_deflate 这个模块,用以取代mod_gzip。虽然两者都是使用的Gzip压缩算法,它们的运作原理是类似的。 第二个区别是压缩质量。mod_deflate 压缩速度略快而mod_gzip 的压缩比略高。一般默认情况下,mod_gzip 会比mod_deflate 多出4%~6%的压缩量。 那么,为什么使用mod_deflate?第三个区别是对服务器资源的占用。 一般来说mod_gzip 对服务器CPU的占用要高一些。mod_deflate 是专门为确保服务器的性能而使用的一个压缩模块,mod_deflate 需要较少的资源来压缩文件。这意味着在高流量的服务器,使用mod_deflate 可能会比mod_gzip 加载速度更快。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-427732-1-1.html 上篇帖子: NullPointerException org.apache.commons.digester.Digester.getXMLReader(Digester. 下篇帖子: Apple使用Apache Mesos重建Siri后端服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表