使用apache的mod_headers模块,设置浏览器缓存文件


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>

Archives