Cache-control: max-age=[secs]
[secs]是cache在客户端存活的秒数,例如 Cache-control: max-age=1800 表明cache的时间是半小时,只使用这样一个声明就可以使浏览器能够将这个HTTP响应的内容写入临时目录做cache。当用户第二次请求被缓存的资源 时,浏览器将直接给出响应,不再从服务器请求,直到cache过期。
-
使用apache的mod_headers模块,设置浏览器缓存文件
- Cache-control: max-age=[secs]
[secs]是cache在客户端存活的秒数,例如 Cache-control: max-age=1800 表明cache的时间是半小时,只使用这样一个声明就可以使浏览器能够将这个HTTP响应的内容写入临时目录做cache。当用户第二次请求被缓存的资源 时,浏览器将直接给出响应,不再从服务器请求,直到cache过期。
在apache配置中设置max-age
apache带有mod_headers模块,实现max-age的设置。
在httpd.conf 中设置:
LoadModule headers_module modules/mod_headers.so
在httpd.conf(或者在.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>
样式二:
<ifmodule mod_headers.c> <FilesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> Header set Cache-Control "max-age=604800, public" </FilesMatch> <FilesMatch ".(xml|txt)$"> Header set Cache-Control "max-age=18000, public, must-reva lidate" </FilesMatch> <FilesMatch ".(html|htm|php)$"> Header set Cache-Control "max-age=3600, must-reva lidate" </FilesMatch> </ifmodule>