适当的缓存对我们来说非常重要,因为我们的目标是减少流量。我已经为资源配置了通信:
这是请求网址:
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 会出现并且找不到任何信息。它发生在所有浏览器中。