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

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

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

所以我的问题是:

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

提前致谢,

Ť

编辑:

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

快速举例:

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

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

有帮助吗?

解决方案

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top