Expires headers字面翻译:到期头,就是告诉浏览器一个过期时间,在这个过期时间之内,浏览器保留缓存的!这样再次进入博客, 就减少了http 请求了,速度就快了!
如何设置
apache主机的博客目录下有一个.htaccess 这样一个文件(有的是隐藏起来了)。这个文件功能很强大。在里面添加一些语句,就能告诉浏览器到期时间了。
下面一些简单的语句。
语句格式1:ExpiresByType 类型 A/M+时间(以秒为单位)
A:access表示从浏览器访问时间算起
M:modification表示文件修改时间算起
如:ExpiresByType image/png A604800 就是设置png格式的缓存时间为7天
语句格式2:ExpiresByType 类型 描述性语言
描述性语言:modification、access、now |plus|years、months、weeks、days、hours、minutes、seconds
如:ExpiresByType image/png “access plus 7 days” 设置png格式的缓存时间为7天
语句格式3:匹配格式
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
ExpiresDefault A604800
</FilesMatch>
表示匹配jpg|jpeg|png|gif|swf格式的文件缓存为7天
是不是很简单!
然后给出我写的,你可以在此基础上根据你的更改频率修改。
<IfModule mod_expires.c>
#开启
ExpiresActive On
#以下是针对不同的文件类型设置不同的缓存时间
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 application/javascript "access plus 1 year"
ExpiresByType image/svg A604800
</IfModule>
一些规则
静态文件:落实“永不过期”的原则,通过设置一个足够长的过期时间来实现。
动态文件:设置一个适当的 Cache-Control 头。怎么才算适当?原则很简单,根据这个动态内容的变更频率做出设置,经常修改的,就设置较短的过期时间,不怎么变动的就设置长一些的过期时间。
html文件绝对不要缓存,否则会出现一系列的问题!这一点在 PageSpeed 的 Leverage browser caching 规则中也明确提到了:
In general, HTML is not static, and shouldn’t be considered cacheable.
通常是这些文件类型需要缓存:
Images: jpg, gif, png
favicon/ico
JavaScript: js
CSS: css
Flash: swf
PDF: pdf
media files:视频,音频文件
为静态文件名加上时间戳或版本号(非常重要!不然访客怎么知道你的要不要清除缓存来获得最新的代码文件呢)
最后要注意的就是添加了(长时间的) Expires headers 的文件,如果在设置的过期时间内需要修改时,你必须修改文件名或者添加修改文件的时间戳。这样用户再访问页面时,才会向服务器请求新文件。例如你需要修改首页的layout.css文件,你可以这么处理:
// 原来的调用处理
<link href="/css/layout.css" rel="stylesheet" />
// 调用新文件的处理
<link href="/css/layout-v20140913.css" rel="stylesheet" />
// 或者这么处理
<link href="/css/layout.css?version=v20140913" rel="stylesheet" />
参考文章:
apache启用mod_expires或mod_headers设置静态文件缓存时间
ppt.cc/fVjECx ppt.cc/fEnHsx ppt.cc/fRZTnx ppt.cc/fSZ3cx ppt.cc/fLOuCx ppt.cc/fE9Nux ppt.cc/fL5Kyx ppt.cc/fIr1ax ppt.cc/f71Yqx tecmint.com linuxcool.com linux.die.net linux.it.net.cn ostechnix.com unix.com ubuntugeek.com runoob.com man.linuxde.net bit.ly/2EzoUDo bit.ly/2tW6eYT bit.ly/2X6vadl bit.ly/2viLpHU linuxprobe.com linuxtechi.com howtoforge.com linuxstory.org systutorials.com ghacks.net linuxopsys.com v.gd/2P9wTx v.gd/FtfpqE v.gd/eMfHsm v.gd/Ub7mqv v.gd/RReVk0 v.gd/vS3uTI v.gd/4Zxmba
Total Pageviews
Monday, 15 July 2024
apache启用mod_expires, 为静态页面加上缓存
Labels:
apache
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment