0

适当的缓存对我们来说非常重要,因为我们的目标是减少流量。我已经为资源配置了通信:

这是请求网址:

http://www.mydomain.com/resources/product/assets/swf/modules/loader.swf?ver=1

这些是响应标头:

Accept-Ranges:bytes
Connection:Keep-Alive
Content-Length:14622
Content-Type:application/x-shockwave-flash
Date:Tue, 22 May 2012 09:16:41 GMT
ETag:"7804f-391e-4c08e046d3ec0"
Keep-Alive:timeout=15, max=96
Last-Modified:Mon, 21 May 2012 16:01:39 GMT
P3P:CP="HONK"
Server:Apache

我需要强制浏览器缓存我传回的资源。据我所知,这些标头应该足以缓存资源。但...

对于一些资源,一个奇怪的东西,叫做 gsCacheBuster,进来了:

请求网址:

http://www.mydomain.com/resources/product/assets/images/image1.png
?gsCacheBusterID=1337684498911&purpose=audit&ver=1

这会更改 URL,因此不会缓存资源。

如您所见,我们已经在客户端(在这种情况下是 Flash)中实现了功能,以在请求中传递一个ver参数,以确保正在下载当前版本。通过这种方式,我们旨在维护资源的版本控制并强制浏览器缓存具有相同版本的资源。

我不知道为什么这个 cacheBuster 会出现并且找不到任何信息。它发生在所有浏览器中。

4

1 回答 1

0

事实证明它是一个 LoaderMax 属性,因为我们在 Flash 客户端中使用了 Greensock 库。可以通过将 setter noCache 设置为 false 来禁用它,也可以删除审计。

于 2012-05-22T12:25:10.030 回答