这里要介绍给各位的是,Apache中的一个模组,mod_expires的基本运用,mod_expires可以减少10%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求。
在使用之前,首先要确认一下”mod_expires”模组是否有启用.如果是自己安装Apache来架设网页主机的话,这里我们可以透过编辑Apache的”httpd.conf”设定档来处理.搜寻一下,你可能会找到这么一行:
- #LoadModule expires_module modules/mod_expires.so
复制代码
将该行前面的”#”字号删除,然后将”httpd.conf”设定档储存后,重新启动Apache来使这个更新生效.
当然如果我们是租用虚拟主机的话,”httpd.conf”设定档我们一般用户是接触不到的,而在网站根目录里写个”.htaccess”设定档,
我想在运用上相对是较灵活的.”mod_expires”的设定资料除了可以写在Apache的”httpd.conf”设定档中,也可以写
在”.htaccess”设定档里.
我们知道在使用浏览器浏览网页时,浏览器会把网页资料快取(Cache)下来储存在本机端,用以加快下回浏览相同网页时不必再重新由网站上下载,进
而有加速的效果.使用mod_expires模组来加速网页浏览,这里所谓的”加速”,其实是利用”mod_expires”的功能,来设定网页文件的过
期时间,加长网页文件被浏览器快取(Cache)保存的时间.如此一来,只要网页文件的过期时间未到,浏览器就会引用快取的资料,而不用花时间再去下载网
站上的资料.另一方面带给站长的好处是,可以减少浏览者对网站的流量耗用(例如有些虚拟主机有限制网站可使用的流量).
接下来我们直接由范例中来学习吧.
范例一:
- <IfModule mod_expires.c>
- ExpiresActive On
- ExpiresDefault “access plus 10 days”
- ExpiresByType text/css “access plus 1 second”
- </IfModule>
复制代码
范例二:
- <IfModule mod_expires.c>
- ExpiresActive On
- ExpiresDefault A86400
- ExpiresByType image/x-icon A2592000
- ExpiresByType application/x-javascript A2592000
- ExpiresByType text/css A2592000
- ExpiresByType image/gif A604800
- ExpiresByType image/png A604800
- ExpiresByType image/jpeg A604800
- ExpiresByType text/plain A604800
- ExpiresByType application/x-shockwave-flash A604800
- ExpiresByType video/x-flv A604800
- ExpiresByType application/pdf A604800
- ExpiresByType text/html A900
- </IfModule>
复制代码
范例三:
- <IfModule mod_expires.c>
- ExpiresActive On
- ExpiresDefault A0
- # 1 年
- <FilesMatch “\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$”>
- ExpiresDefault A9030400
- </FilesMatch>
- # 1 星期
- <FilesMatch “\.(jpg|jpeg|png|gif|swf)$”>
- ExpiresDefault A604800
- </FilesMatch>
- # 3 小时
- <FilesMatch “\.(txt|xml|js|css)$”>
- ExpiresDefault A10800″
- </FilesMatch>
- </IfModule>
复制代码
使用<IfModule></IfModule>来包夹指令可以避免在mod_expires模组没有启用的情况下还要去
执行.如果mod_expires模组确定已经启用,那不写<IfModule></IfModule>也没关係.
ExpiresActive On是指启用mod_expires功能,相对的Off就是关闭功能.
ExpiresDefault指令是设定预设的过期时间.
从范例一和范例二中,各位可以看到关于时间设定的方式有分两种,一个是文字叙述型,一个是代码加上秒数型.
文字叙述型:
“access plus 10 days”意指浏览时起算10天.依照Apache官方说明文件,过期起算时间有三种,分别是access、now
以及modification.其中access与now意义相同,而modification指的是网页文件的”最后编辑时间”.所以如果要以档桉的最
后编辑时间起算,可以写成这样,”modification plus 10
days”.而时间的指定也很简单,就是英文单字(years、months、weeks、days、hours、minutes、seconds).例
如,可以写成这样,”access plus 1 month 15 days 2 hours”.
代码加上秒数型:
A86400意指浏览时起算1天.格式是代码加上秒数.代码有分两种,”A”等同”access”,意指浏览时起算过期时间.使用代码”A”比较适合应用
在不常变动的网页文件类型,例如图片.另外一种代码是”M”,其意义等同于”modification”,指的是网页文件的”最后编辑时间”.使用代
码”M”比较适合应用在经常变动的网页文件类型,例如HTML页面这类经常更新内容的资料.秒数资料我在文后附上参考资料,可以供各位快速参考.
ExpiresByType指令是依照不同的网页文件型态来做过期时间设定.
例如,ExpiresByType text/css A2592000,意指网站上的CSS风格档3天后过期; ExpiresByType image/gif A604800,意指网站上的Gif图档在7天后过期.
范例三里,使用了<FilesMatch></FilesMatch>来包夹各型态的网页文件,而不是使用”ExpiresByType”指令,这也是一种用法.
分享到:
相关推荐
`mod_jk.so`是Apache的一个模块,它用于连接Apache与Tomcat应用服务器,实现负载均衡和应用级代理,这对于运行Java Web应用程序的环境至关重要。在CentOS 6.5-6.9系统上编译安装Apache 2.4并添加mod_jk.so模块的步骤...
**一、mod_expires模块** mod_expires 是 Apache 的一个模块,它允许服务器自动设置HTTP响应头中的 `Expires` 字段,以及 `Cache-Control` 字段的 `max-age` 参数。这两个字段定义了客户端(如浏览器)何时应该重新...
3. **静态文件**: 对于静态文件,建议使用Apache的其他模块(如`mod_expires`, `mod_deflate`, `mod_headers`)直接处理,以减轻Django的负担。 4. **缓存策略**: 使用缓存技术,如Django的`cached_page`中间件,或...
mod_pagespeed 是由 Google 开发的一款 Apache 模块,主要用于提升 Web 页面的加载速度。该模块无需对现有网站的 CMS(内容管理系统)进行任何修改,即可实现网页加载速度的显著提升。mod_pagespeed 通过优化 HTML、...
mod_expires mod_ext_filter mod_file_cache mod_filter mod_headers mod_ident mod_imagemap mod_include mod_info mod_isapi mod_ldap mod_logio mod_log_config mod_log_forensic mod_mem_cache mod_mime mod_...
这通常通过使用Apache的模块mod_proxy来完成。在Apache的配置文件(如httpd.conf)中,你需要启用mod_proxy模块,并添加相应的代理配置。 ```apache LoadModule proxy_module modules/mod_proxy.so LoadModule ...
Apache可以通过mod_proxy模块与CDN服务集成,加速内容在全球范围内的分发。 11. **与其他技术的集成** Apache可以轻松地与PHP、Perl、Python等脚本语言配合,构建动态网站;与MySQL数据库集成,实现动态内容管理...
这可以通过使用Apache的模块如mod_jk或mod_proxy_ajp来实现。mod_jk是通过AJP(Apache JServ Protocol)协议进行通信,而mod_proxy_ajp则利用HTTP代理功能。 2. **配置Apache** 配置Apache需要在httpd.conf或虚拟...
- 使用mod_expires和mod_headers设置资源过期策略,提高客户端缓存效率。 - mod_deflate用于压缩响应内容,减少网络传输量。 8. **安全性和SSL**: - 配置HTTPS支持,使用SSL/TLS证书进行加密通信。 - 安全最佳...
总的来说,Apache2中文文档为用户提供了详细的使用和管理信息,无论你是初学者还是经验丰富的管理员,都能从中受益。通过深入理解Apache2的工作原理和配置选项,你可以搭建出符合业务需求、高效且安全的Web服务器...
3. 缓存机制:利用mod_expires和mod_cache模块,Apache可以缓存静态内容,减少服务器负载。 四、日志与监控 1. 日志记录:Apache默认记录访问日志和错误日志,通过日志分析工具(如Logrotate)可以了解服务器状态...
安全性方面,Apache提供了一些安全模块,如mod_security,用于防止常见的攻击,如SQL注入和跨站脚本攻击。定期更新Apache到最新版本,并谨慎配置防火墙,能有效提升服务器安全性。 性能优化方面,可以使用mod_...
- 安装和配置`mod_gzip`模块可以显著减小网页大小,提高加载速度。 - 使用`mod_deflate`替代`mod_gzip`,因为`mod_deflate`提供了更好的兼容性和性能。 3. **缓存优化**: - 启用`mod_cache`模块以实现内容缓存...
9. **性能优化**:包括调整KeepAlive设置以控制连接保持打开的时间,启用MultiViews以自动选择最合适的文件,以及使用缓存模块如mod_expires和mod_cache提高响应速度。 10. **安全注意事项**:保持Apache和所有依赖...
- 通过使用`mod_expires`模块可以为静态文件设置过期时间,从而减少服务器负担。 - 示例配置: ```apache <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access plus 1 month" ...
- Caching:使用缓存模块如mod_expires和mod_cache,提高静态内容的响应速度。 - JNDI资源:在Tomcat中配置JNDI资源,使Apache和Tomcat共享数据库连接等资源。 通过以上步骤,Apache2.2和Tomcat6可以协同工作,...
5. **性能优化**:通过调整配置,如启用KeepAlive选项来维持持久连接,使用mod_expires设置缓存策略,以及使用mod_deflate进行数据压缩,可以显著提升服务器性能。 6. **日志记录**:Apache服务器可以生成多种日志...
为了提升Apache2的性能,可以启用模块如mod_deflate(压缩输出内容)、mod_expires(设置静态资源过期时间)、mod_cache(缓存响应内容)。同时,调整MaxKeepAliveRequests、KeepAliveTimeout等参数可以优化连接管理...
4. **负载均衡**:如果图片服务器需要处理大量请求,可以考虑使用负载均衡技术,如Nginx反向代理或Apache的mod_proxy_balancer模块。 以上就是关于Apache图片服务器的安装和使用方法。请根据实际情况调整步骤,并...
- 性能优化,包括开启HTTP/1.1持久连接(mod_headers),配置合适的KeepAliveTimeout,使用mod_expires缓存静态内容,以及合理分配系统资源。 6. **错误日志和访问日志** - Apache2.2.29会生成错误日志和访问日志...