Javascript 推荐的缓存控制方法?
我希望强制刷新JS/CSS依赖项Javascript 推荐的缓存控制方法?,javascript,css,dependencies,Javascript,Css,Dependencies,我希望强制刷新JS/CSS依赖项 会起作用吗,还是只会强制刷新页面本身的内容?您可以使用服务器端语言将时间戳附加到要拉入的每个文件: <?php $timestamp = time(); ?> <link href="shell.css?timestamp=<?=$timestamp?>" rel="stylesheet" type="text/css" /> 上面的答案是有效的,尽管我可能更愿意在最后使用?version=1,这样在没有更改时它会缓存。此
会起作用吗,还是只会强制刷新页面本身的内容?您可以使用服务器端语言将时间戳附加到要拉入的每个文件:
<?php $timestamp = time(); ?>
<link href="shell.css?timestamp=<?=$timestamp?>" rel="stylesheet" type="text/css" />
上面的答案是有效的,尽管我可能更愿意在最后使用?version=1
,这样在没有更改时它会缓存。此外,设置Web服务器缓存策略也是有效的
这是一篇解释网页缓存的好文章:不,它只控制当前文档。如果您不想使用带有随机查询字符串的丑陋URI,那么是时候配置您的服务器了。假设Apache:
# mod_expires directives:
# enable expires/max-age headers and set default to 0 seconds from last access time
ExpiresActive On
ExpiresDefault A0
# configure ExpiresByType on your specific types, eg ExpiresByType text/css A0
# mod_headers directives:
# send variety of no-cache directives, should cover any quirky clients and gateways
Header set Cache-Control "max-age=0, private, no-cache, no-store, must-revalidate, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
# enclose this in <Files> directive for specific file eg <Files *.js>
#mod#u expires指令:
#启用expires/max age标头,并将默认值设置为距离上次访问时间0秒
过期于
到期默认A0
#在特定类型上配置ExpiresByType,例如ExpiresByType文本/css A0
#mod_头指令:
#发送各种无缓存指令,应涵盖任何古怪的客户端和网关
标题集缓存控制“最大年龄=0,专用,无缓存,无存储,必须重新验证,代理重新验证,无转换”
标题集Pragma“无缓存”
#将此附在特定文件的指令中,例如
如果满足以下要求,这些指令组也将在每个目录配置(.htaccess
文件)中工作(在共享环境托管的情况下):
AllowOverride文件信息
生效
mod_expires
或mod_headers
已启用
如果两者都已启用-请注意,组在最大年龄上重叠
,您将希望将其从标题
中删除,并通过ExpiresXXXX
使用更精细的控制。
所述设置对于共享托管环境非常常见,因此请询问服务器管理员或自己尝试(如果未启用相应的模块,将返回500内部服务器错误
,如果未启用。htaccess
处理则无效)正确。使用文件的修改日期(而不是当前时间)可能更有意义,因此仅在需要时重新加载文件,而不是在每次加载页面时重新加载。不是我的服务器。。。doh.:)我最喜欢这个方法,尽管我不能使用它。@Michael,对不起,我没有提到。htaccess for shared hostings,更新了。