Apache开启deflate(Gzip)和Expires提升网页加载速度(三)

在Apache的配置文件中找到下面行,将注释#去掉,重启。

LoadModule deflate_module modules/mod_deflate.so
LoadModule expires_module modules/mod_expires.so
LoadModule header_module modules/mod_header.so  

在http.conf后面加上这一段进行定制:(如非必要,用默认的就好了)

<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css application/x-httpd-php text/javascript application/x-javascript text/css
AddOutputFilter DEFLATE js css         #压缩js,css文件
# Don‘t compress images                                           #对照片文件不进行压缩处理
SetEnvIfNoCase Request_URI (?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI (?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .pdf$ no-gzip dont-vary
#SetEnvIfNoCase Request_URI .(css|js)$ no-gzip dont-vary
# Make sure proxies don‘t deliver the wrong content
Header append Vary User-Agent env=!dont-vary
DeflateCompressionLevel 6
SetOutputFilter DEFLATE
</ifmodule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "now plus 1 month"
ExpiresByType application/x-javascript "now plus 5 day"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/bmp "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
</IfModule>  
#使用mod_headers
#在.htaccess文件中添加如下内容可以实现缓存:
<ifmodule mod_headers.c>
# htm,html,txt类的文件缓存一个小时
<filesmatch "/.(html|htm|txt)$">
header set cache-control "max-age=3600"
</filesmatch>
# css, js, swf类的文件缓存一个星期
<filesmatch "/.(css|js|swf)$">
header set cache-control "max-age=604800"
</filesmatch>
# jpg,gif,jpeg,png,ico,flv,pdf等文件缓存一年
<filesmatch "/.(ico|gif|jpg|jpeg|png|flv|pdf)$">
header set cache-control "max-age=29030400"
</filesmatch>
</ifmodule> 

这样可以压缩一般网页中会用到的html、xml、php、css、js等格式档案输出,虽然会占用掉服务器处理器的一点点处理器时间,浏览者在接收 网页数据时也会消耗极短暂的一点点处理器时间,不过却可以大幅减少数据传输量,减少网络带宽被吃掉的情形。
DeflateCompressionLevel 9是指压缩程度的等级,从1到9,9是最高等级。据了解,这样做最高可以减少8成大小的传输量(看档案内容而定),最少也能够节省一半。
DeflateCompressionLevel 预设可以采用 6 这个数值,以维持耗用处理器效能与网页压缩质量的平衡。



Apache 手册 节选

ExpiresDefault ExpiresByType 指令同样能够用易懂的语法格式进行定义:

ExpiresDefault "<base> [plus] {<num> <type>}*"
ExpiresByType type/encoding "<base> [plus] {<num> <type>}*"

其中<base>是下列之一:

  • access
  • now (等价于‘access ‘)
  • modification

plus 关键字是可选的。<num>必须是整数[可以被atoi() 接受的],<type>是下列之一:

  • years
  • months
  • weeks
  • days
  • hours
  • minutes
  • seconds

例如,下列3个指令都表示文档默认的有效期是一个月:

ExpiresDefault "access plus 1 month"
ExpiresDefault "access plus 4 weeks"
ExpiresDefault "access plus 30 days"

有效期可以通过增加"<num> <type>"子句进一步调整:

ExpiresByType text/html "access plus 1 month 15 days 2 hours"
ExpiresByType image/gif "modification plus 5 hours 3 minutes"

注意,如果你使用基于最后修改日期的设置,"Expires:"头将不会 被添加到那些并非来自于磁盘文件的内容。这是因为这些内容并不存在"最后修改时间"的属性。

时间: 2024-11-09 00:59:02

Apache开启deflate(Gzip)和Expires提升网页加载速度(三)的相关文章

如何通过预加载器提升网页加载速度

预加载器(Pre-loader)可以说是提高浏览器性能最重要的举措.Mozilla 官方发布数据,通过预加载器技术网页的加载性能提升了19%,Chrome测试了 Alexa 排名前2000名网站,性能有20%的提升. 它并不是一门新技术,有人认为只有 Chrome 才具备这个功能.也有人认为它是有史以来提升浏览器性能最有效的方法.如果你第一次接触预加载器,也许心中已经有了无数个问号.什么是预加载器?它是如何提升浏览器性能的? 首先需要了解浏览器是如何加载网页的 一个网页的加载依赖于脚本文件.CS

减少域名DNS解析时间将网页加载速度提升新层次-DNS缓存/预读取/拆分域名

我们知道在用户访问网站时先得经过域名DNS解析这一过程,可能很多人对于DNS解析时间平常并没有太在意.性能稳定.响应时间快的DNS域名解析服务与不稳定.响应过慢的DNS的域名解析时间可能相差1秒,而对于网站存在过多的域名解析请求,这个时间积累起来就非常地多了. 本篇文章就来分享一下通过优化网站DNS域名解析,减少域名DNS解析时间,从而让网站在原来的访问速度的前提下继续实现新的飞跃.想要了解更多的有关于网站和服务器优化加速的方法,可以试试: 1.加快SSL:Nginx和Apache上安装SPDY

【前端开发】25种提高网页加载速度的方法和技巧

尊重原创:http://blog.csdn.net/wxzking/article/details/4089384 您希望加快网页的加载速度吗?了解如何通过缩短加载时间来改善拨号上网用户的浏览体验,在某些情形下,加载时间最多可缩短 80%.下面介绍二十五中网速方法和技巧. 一.使用良好的结构 可扩展 HTML (XHTML) 具有许多优势,但是其缺点也很明显.XHTML 可能使您的页面更加符合标准,但是它大量使用标记(强制性的 <start> 和 <end> 标记),这意味着浏览器

网页加载速度优化4--图片懒加载

当前网页设计理念主要以大气简洁主流(文艺小清新网站例外).更多的信息用图片来展示. 由于图片都是高清,所以会影响到网页加载速度.这里我们就用到图片的懒加载(延迟加载)功能. 最快速解决方案:jquery lazyload插件. Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的. 在包含很多大图片长页面中延迟加载图片可以加

【代码优化】如何提高网页加载速度

原文链接 1.减少页面请求: 从WEB运行原理上讲,IIS请求是无状态的,在服务器端一直是连接和关闭的不断进行着,如果能减少服务器请求,总的时间将会减少. 之前我下载163邮箱的登陆页面的图片时发现,它们的只用到了一个图片来完成整个页面的所有图片,当时我就纳闷了,这跟平时做的网站不一样呀.然来这样做减少浏览器的请求次数,用httpwatch你会发现请求的总时间大大减少了.同样的想法,在做css样式,JavaScript代码的时候也要做到尽可能的放在一个文件下来减少WEB请求. 2.页面压缩技术,

如何提高网页加载速度(二)

优化网页图片文件你的网页一定有图片,加载一个网页往往图片的总尺寸是最大的,特别是那些颜色丰富的背景图片和大副广告图片.所以一般要在同等图片质量的情况下要尽可能地 减小图片尺寸.在Photoshop中我们可以用保存为Web图片的选项试一下.图片也有几种常用的文件格式.如JPEG一般是用来存储照片或全彩色图片 的,比如照片.屏幕截图等.GIF图片格式的颜色要比JPEG少,适合做小图,如制作按钮.Logo等,另外GIF支持动态效果.PNG跟GIF比较相 似,但它的尺寸较大,支持的颜色也比GIF要多,并

4月6日学习笔记——如何提高网页加载速度(前端面试考点)

网页的加载速度是评估网站质量一个重要指标.原因在于大多数用户能够容忍的网页加载时间只有几秒,如果超出了访客的忍受范围他们会毫不留情地关掉你的网 页,所以网页载入速度会极大地影响网站的流量和访问.以下总结了几种可以明显提高网站加载速度的初步简单技巧方式,如果你的网站存在载入速度慢的问题不妨 与此为参考对网页做些初步优化. 网页加载提速之 – 优化网页图片文件 你的网页一定有图片,加载一个网页往往图片的总尺寸是最大的,特别是那些颜色丰富的背景图片和大副广告图片.所以一般要在同等图片质量的情况下要尽可

如何提升页面加载速度,并简述原理

页面的加载过程主要分为下载.解析.渲染三个步骤,下面从这三个方面阐述提升加载速度的方法: 1.加快文件下载速度,减小资源文件下载对页面解析的阻塞.页面加载过程首先会下载 HTML 文件,然后自上而下开始解析,解析过程中如果遇到外部资源则会开始下载,直至下载完成才会继续解析.所以,加快文件下载速度方式是有效的提升页面加载速度的方法.具体可以是 1)通过设置 CDN.HTTP 缓存等方式,减少 HTTP 传输时间: 2)对文件进行压缩,减小文件体积: 3)对 script.CSS 文件引用标签设置异

提升页面加载速度的优化方法

1.CSS精灵图片技术 将一个页面涉及的所有零星图片都包含到一张大的图片中,然后利用CSS技术展现出来,可以减少http请求,减少整个网页的图片大小,提高页面性能. 2.合并js文件和css文件 减少GET请求次数,提高加载速度. 3.延迟可见区域外的内容 4.压缩文本和图片 如gzip压缩技术,可以减少页面加载时间 5.确保功能图片优先加载 6.图片格式优化 如png格式 7.使用高级JPEG格式图片 8.精简代码 9.使用AJAX 在不加载整个页面的情况下对网页的某部分进行更新,即实现异步更