jQuery DIV刷新

hom*_*ork 1 html jquery caching refresh intervals

我正在使用简单的jQuery DIV刷新代码.

var refreshId = setInterval(function(){$('#refreshdash').load('dashboard.php?cache =');},4000);

对?有些人告诉我,在你要刷新的文件末尾加上"?cache ="会有助于降低带宽等,因为他告诉我它会缓存文件或类似的东西.

我不相信他一如既往.这是真的?......如果没有,那实际上是做什么的,什么都没有?

zom*_*bat 5

不,这实际上与正在发生的情况完全相反.

浏览器根据其URL缓存内容.通过在URL的末尾添加额外的查询参数,您实际上正在更改从中获取的位置,因此,如果内容已更改,则强制浏览器重新请求内容.因此cache=x,在末尾添加参数是一种称为缓存中断的技术.

例如:

http://example.com/index?timestamp=100
http://example.com/index?timestamp=567
Run Code Online (Sandbox Code Playgroud)

这两个URL都可能返回相同的内容,但它们是不同的URL,因此将单独缓存.

常见的缓存破解技术是将当前时间戳添加到URL,因为这将始终在变化,确保每次都生成新的URL.

但是,这会增加带宽,而不是减少带宽,因为浏览器每次都需要重新获取您的内容.

此方法的最佳用途是静态文件很少更改,但可能会被代理服务器或其他HTTP缓存长时间缓存.我用它.js.css文件.我会将文件的最后修改时间附加到URL ...每当文件更新时,URL都会更改,浏览器知道重新获取它们.