如何避免使用CDN进行客户端缓存

时间:2009-03-05 11:24:26

标签: actionscript-3 caching cdn

在AS3中处理项目我需要流式传输一些文件以进行带宽测试。这些文件需要来自CDN(客户端最近的代理)才能使带宽测试可靠。

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

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

所以我的问题是:

如何强制绕过客户端缓存以检索新版本的文件而不真正更改请求?

提前致谢,

Ť

编辑:

理想情况是在URLRequest中发送缓存控制头(感谢Assaf!)。不幸的是,我已经尝试了一段时间,它似乎不适用于FlashPlayer。即使在网络上,人们似乎对这个主题持悲观态度。

快速举例:

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

有人曾设法做出类似的工作吗?

1 个答案:

答案 0 :(得分:1)

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

如果您可以控制服务器,则可以指定编译指示无缓存或等效内容,以便某些文件永远不会缓存。

时间戳确实不是一个好主意,因为它可能会阻碍所有类型的缓存。