我们正在使用Apache作为我们的CRM应用程序(Siebel)的Web服务器。我们在15天内在CRM应用程序上继续部署新的JS和CSS文件。目前我们有以下设置。
FileETag None
ExpiresActive On
<IfModule mod_expires.c>
ExpiresByType text/css "access plus 5 days"
ExpiresByType text/javascript "access plus 5 days"
ExpiresByType image/gif "access plus 5 days"
ExpiresByType image/jpg "access plus 5 days"
ExpiresByType image/png "access plus 5 days"
ExpiresByType application/x-shockwave-flash "access plus 5 days"
ExpiresByType application/x-javascript "access plus 5 days"
AddType image/x-icon .ico
ExpiresByType image/x-icon "access plus 5 days"
</IfModule>
在这种情况下,如果我们有一个Hotfix版本,我们必须要求最终用户清除他们的缓存,以便新文件可以从他们的一方反映出来,他们必须等到对象到期并自动刷新。
如果我们将其设置为低于Web服务器请求增加的值,并且Web服务器上的负载会增加。
我想知道有没有任何机制。
1)在放置新文件时自动更新最终用户机器上的新文件。
2)设置文件夹级别的过期而不是文件级别。
由于
答案 0 :(得分:0)
回应point 1)
我建议在网址级别使用版本控制。
I.E mysite.com/lib/js.js?v=1
,mysite.com/lib/style.css?v=1
(等等..等等)
当您推出新版本时,请将其更新为v = x(依此类推)。
没有办法强迫客户端刷新它的缓存,主要是由于所有浏览器的实现都不同(他们都必须实现这一点),毫无疑问会有一些安全风险。
关于point 2)
,这个问题可能有所帮助: