2

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

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

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

所以我的问题是:

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

提前致谢,

编辑 :

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

快速示例:

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

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

4

1 回答 1

1

正确的做法是在请求中指定缓存 http 控制标头,或在服务器上配置无缓存。

如果您可以控制服务器,则可以指定 pragma no-cache 或等效的东西,以便永远不会缓存某些文件。

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

于 2009-03-05T11:29:10.790 回答