在客户端强制缓存数据

时间:2011-01-15 05:10:26

标签: php javascript

我正在编写一个脚本,它将根据用户输入的详细信息加载自定义的javascript和图像(在服务器上使用php)。有没有办法强制将这些JS和图像缓存在客户端的浏览器上,以减少下次请求类似数据时服务器上的负载?

2 个答案:

答案 0 :(得分:2)

是的,有一种方法可以将过期标题设置为更长的时间段。即如果你正在使用.htaccess在你的.htaccess文件中写这个

<IfModule mod_expires.c>
AddType image/x-icon .ico

ExpiresActive On

ExpiresByType image/* A86400
ExpiresByType image/x-icon A2592000

ExpiresByType application/javascript A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType text/javascript A2592000
ExpiresByType text/css A2592000

SetEnvIfNoCase Request_URI ".*/(uploads|weather)/.*\.(jpeg|jpg|png|gif)$" is_monthly=true
Header set cache-control: max-age=604800 env=is_monthly

答案 1 :(得分:1)

你需要查看你的服务器缓存默认值,看看它们是如何被控制的,如果它的apache有你可以通过.htaccess使用的mod_cache和mod_expire:

http://httpd.apache.org/docs/2.2/mod/mod_cache.html
http://httpd.apache.org/docs/2.0/mod/mod_expires.html

或..您可以将文件作为PHP提供,并使用标头进行缓存控制。但那会很疯狂......