在Apache服务器上启用GZip压缩静态内容的方法
作者:迷途d书童 发布时间:2023-07-31 07:21:15
为了优化网站的访问速度,我们可以通过对静态内容进行压缩,从而减少网页加载的时间,大大节省用户的带宽。在这篇文章中,我将介绍如何使用Apache和.htaccess文件进行静态内容压缩。
首先让我介绍一下,我们可以使用两种不同的方法压缩内容:GZip 和 deflate。
介绍
GZip方法在早期的apache版本中使用(在Apache 1.3之前)。但在那之后apache引入了deflate方法,相比GZip并没有太大的效果(但仍是非常好的)。然而,GZip在apache 1.3之后不再提供更多的支持。因此,你的Apache版本必须大于1.3,如果没有,你必须升级到最新版本的Apache。
在使用压缩之前,你必须启用apache的mod_deflate模块。要启用这个模块,你只需要从httpd.conf文件去掉这个模块行。
启用这个模块后,你的服务器准备好提供压缩的内容。但是,服务器只有当它接收到来自客户端的相应头文件时,才会创建压缩内容。所以,现在你需要将下面的代码放置到你网站的htaccess文件,才能通知服务器提供压缩的内容。
.HTACCESS代码
<ifmodule mod_deflate.c="">
# force deflate for mangled headers
# developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
<ifmodule mod_setenvif.c="">
<ifmodule mod_headers.c="">
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</ifmodule>
</ifmodule>
# HTML, TXT, CSS, JavaScript, JSON, XML, HTC:
<ifmodule filter_module="">
FilterDeclare COMPRESS
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/html
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/css
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/plain
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/x-component
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/javascript
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/json
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xhtml+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/rss+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/atom+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/vnd.ms-fontobject
FilterProvider COMPRESS DEFLATE resp=Content-Type $image/svg+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/x-font-ttf
FilterProvider COMPRESS DEFLATE resp=Content-Type $font/opentype
FilterChain COMPRESS
FilterProtocol COMPRESS DEFLATE change=yes;byteranges=no
</ifmodule>
<ifmodule !mod_filter.c="">
# Legacy versions of Apache
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml
AddOutputFilterByType DEFLATE application/atom+xml
AddOutputFilterByType DEFLATE image/svg+xml application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font-ttf font/opentype
</ifmodule>
</ifmodule>
将上面的代码放置在你的htaccess文件之后,看看你网站的请求头部。你可以看到一个额外的头“Accept-Encoding“。这意味着请求的客户端能够处理给定的压缩类型的内容,并将提供压缩内容。
Accept-Encoding:gzip,deflate,sdch
结果
看看下面的图片,有多少被压缩了。
从上面的图片可以看出,实际页面大小707KB,使用压缩后是401KB。因此,它最终会提高你的网站的性能。
我强烈建议你把网站静态内容做压缩处理,因为没有理由不这么做,这是Web开发的一个最佳实践。
然后附上Gzip的一些基本的常用命令:
1.命令格式:
gzip[参数][文件或者目录]
2.命令功能:
gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。
3.命令参数:
-a或--ascii 使用ASCII文字模式。
-c或--stdout或--to-stdout 把压缩后的文件输出到标准输出设备,不去更动原始文件。
-d或--decompress或----uncompress 解开压缩文件。
-f或--force 强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
-h或--help 在线帮助。
-l或--list 列出压缩文件的相关信息。
-L或--license 显示版本与版权信息。
-n或--no-name 压缩文件时,不保存原来的文件名称及时间戳记。
-N或--name 压缩文件时,保存原来的文件名称及时间戳记。
-q或--quiet 不显示警告信息。
-r或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-S<压缩字尾字符串>或----suffix<压缩字尾字符串> 更改压缩字尾字符串。
-t或--test 测试压缩文件是否正确无误。
-v或--verbose 显示指令执行过程。
-V或--version 显示版本信息。
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。


猜你喜欢
- 自己也是菜鸟一个(文中若有错误之处欢迎各位大虾们指出)但还是希望能将我自己的一些作站经历写出来,为广大菜鸟朋友们做一些参考。试验目的:在只有
- 1、查看主机的IP网段(我在房东的网络下接了路由器),192.168.28.117。2、修改/Library/Preferences/VMw
- 环境:主机Win7、VMware Workstation 6.5.3、虚拟机Ubuntu10.04。一、桥接的基本原理配置成桥接网络连接模式
- 先来一张登陆界面吧从上次zblog更新至今也有2年多了,一直未见zblog有过更新,虽然去年愚人节的时候发布了一个版本,但那个版本真的只是一
- 昨天和一好站友聊天,得知最近他要做个本地网站,与之交流探讨!高某人曾经也做过福州本地的网站,不幸的是挣扎数月后在百度收录中永远消失,幸运的是
- Twitter联合创始人比兹·斯通北京时间11月20日早间消息,据国外媒体报道,Twitter联合创始人比兹·斯通(Biz Stone)周四
- [xmail@xmail log]$ telnet smtp.263.net 25Trying 211.150.96.25...Connec
- 前言:绝大多数的站长是负担不起独立主机所带来的金钱、时间、维护上的消耗,于是就有了虚拟主机业务。随着虚拟主机近几年良莠不齐的发展,如何选择一
- 我们在使用Windows 2000 server自带的IIS(Internet Information Server,Internet信息服
- 博客营销的具体做法是写一篇文章放在自己或别人的博客里面,通过博客网传达给网友。为了达到营销的目的,文章必须要能够获得阅读者的认同。这就是博客
- 在使用GoDaddy-windows主机的的用户经常会出现500错误,自己也不清楚到底哪里出错了。下面我就介绍用创建web.config文件
- 相关性,是搜索引擎优化中的重点。但是对于相关性的搜索引擎工作原理,相信大部分的SEOER对于都缺乏了解。但是只需要我们主流搜索引擎技术的方向
- 在WP2.7的时候就推出了快捷键功能。(若按键无效,则可以在后台快捷键那个设置的地方打上勾就可以了),相信很少会有人注意到,我也是刚不小心看
- 在传统的金秋10月,也都是各大厂商推陈出新的时刻,作为民族软件旗帜的金山软件,旗下应用软件及游戏业务都将有诸多产品问世,其中《飞天风云》、《
- 前几天的一篇博客是关于“为什么有的小站点(或新站点)在搜索结果中排名能靠前?”,下面又是一个很少人注意的影响SEO效果的因素:你购买域名时一
- MDaemon Server 恢复被删除的垃圾邮件自学习目录:恢复方法:1、打开MD控制面板;2、工具栏 Security - Spam F
- 作为Internet上的FTP服务器,系统的安全性是非常重要的,这是建立FTP服务器者所考虑的第一个问题。其安全性主要包括以下几个方面:一、
- 很多人会认为SEO很简单,很多人也会认为SEO很迷惑?简单的是什么呢?大家会认为SEO就是做关键词排名,就是做流量;迷惑的又是什么呢?除了做
- 今天来介绍Godaddy主机用户怎样用密码保护自己的网页,可以创建个.htaccess文档来密码保护你的Linux托管帐户中的某个目录。我们
- 首先说说现在的个人电影站,市场上流行的主要是马克斯电影程序和搜一次电影程序,至于两者的区别,大家有兴趣的可以到他们的官网看看就知道了,不过现