2009-03-05 90 views
2

在AS3中处理项目我需要流式传输几个文件以进行带宽测试。这些文件需要来自CDN(客户端最接近的代理),以使带宽测试可靠。如何避免使用CDN进行客户端缓存

当然,如果远程文件被缓存在客户端浏览器中,带宽测试将不可靠。

通常我会在GET变量中添加一个时间戳以欺骗客户端缓存。但我可以想象这是一个与CDN合作的非常糟糕的做法。

所以我的问题是:

如何强制绕过客户端缓存检索文件的新版本没有真正改变的要求?

由于提前,

牛逼

编辑:

理想的做法是在发送的URLRequest高速缓存控制头(感谢阿萨夫!)。不幸的是,我一直在尝试一段时间,它似乎并没有在FlashPlayer中工作。即使在网络上,人们似乎也对这个问题感到悲观。

简单的例子:

var headers:Array = new Array(new URLRequestHeader("Cache-Control", "no-cache")); 
urlRequest.requestHeaders = headers; 
urlRequest.load(url); 

有人曾设法让类似工作的东西吗?

回答

1

这样做的正确方法是在请求中指定缓存http控制标头,或者在服务器上配置no-caching。

如果你能控制服务器,你可以指定pragma no-cache,或者其他的东西,这样某些文件就不会被缓存。

时间戳确实不是一个好主意,因为它可能会与各种各样的缓存一起使用。