【问题标题】:How in Flex to load cached preloaded images如何在 Flex 中加载缓存的预加载图像
【发布时间】:2011-04-06 01:13:21
【问题描述】:

在我的应用程序中,我多次调用以使用 Loader 实例在后台将图像预加载到浏览器缓存中,并忽略完整事件。我不将结果存储在应用程序中,而是希望将它们存储在浏览器缓存中。图片的 Expires 标题日期很长。

当我想使用特定图像时,我再次使用 Loader 实例并调用相同的 url 并侦听完成事件以将文件加载到图像。

问题是,当我重新请求“缓存”图像的 url 时,它正在发出一个响应为 200 状态的 http 请求,我认为这意味着它正在访问服务器。

如何确保对缓存图像的请求永远不会从 Flex 到达服务器?

一般来说,我发现任何对缓存图像(具有长过期标头)的 url 的请求都在向服务器发出另一个请求,或者至少这是我在 Firebug 中的解释。

任何想法如何做到这一点?还是我误解了 Firebug 告诉我的内容?

谢谢。

【问题讨论】:

    标签: apache-flex image caching preload


    【解决方案1】:

    所以,是的,我误解了萤火虫。事实证明,firebug 记录了 url 请求,它看起来像一个正常的请求。但是,如果您使用像wireshark 这样的网络监视器来监控网络,您会注意到缓存图像的 url 没有传出数据包。 Flex 确实会加载缓存的图像。

    为了保证图像缓存的安全,我添加了以下 Cache-Control 标头(尽管我认为过期就足够了。在发布此内容时已经过了一年)。

    缓存控制:max-age=31536000,必须重新验证

    到期:格林威治标准时间 2011 年 12 月 1 日星期四 16:00:00

    所以,如果你正确设置了缓存标头(注意如果日期不是过期标头中的有效日期,它就不起作用),当你调用缓存图像的 url 时,flex 将从缓存中加载。

    【讨论】:

      猜你喜欢
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 2013-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      相关资源
      最近更新 更多