2011-01-27 20 views
3

是否附加myjsfile.js?2342343总是强制浏览器获取新的.js文件?是否附加myjsfile.js?2342343总是强制浏览器获取新的.js文件?

+0

只有附加字符串是随机的。这需要什么?我可以理解一个总是变化的图像,但为什么一个* .js *文件?它经常改变吗? – Jakub 2011-01-27 15:34:40

+1

@Jakub:这是“永远缓存”的方法:将来设置过期时间,当文件更改时,更改查询字符串(例如更改为文件的上次修改时间)。使用新的查询字符串,它将是一个不同的资源,并且浏览器将检索它 - 一次(因为它将来会再次过期)。聪明的恕我直言 - 它回避了有条件的请求和某些浏览器的问题*咳嗽咳嗽*有到期时间的问题。 IIRC在RoR中有一种机制可以自动执行此操作。见例如这:http://blog.httpwatch.com/2007/12/10/two-simple-rules-for-http-caching/ – Piskvor 2011-01-27 15:43:51

回答

3

这取决于您发回的缓存标头。如果没有任何Cache-ControlExpires标题,某些浏览器(例如IE)会将URL视为始终过期,但不保证此行为。另一方面,如果有有效的缓存指令,浏览器将会尊重它们。

相关问题