在Flex应用程序中缓存swf文件

时间:2009-08-21 20:22:31

标签: flex jsp

我创建了一个Flex应用程序,swf文件的大小约为900KB。

我的麻烦是文件没有被缓存。当我第二次启动应用程序时,将再次从服务器获取swf文件。

我将swf文件包含在jsp中,并且我没有修改任何HTTP缓存标头。我假设swf文件将自动缓存。不是吗?

如何强制缓存文件?我是否需要提供MXML代码中的任何内容或仅提供response.setHeader(“Cache-Control”,“max-age = 100”);足够?可以从弹性方面做任何事情吗?

建议请...

2 个答案:

答案 0 :(得分:0)

我认为SWF的请求与JSP页面的请求是分开的(就像图像请求是分开的一样)。因此,您可能需要将服务器配置为使用特定的缓存头提供SWF文件。我怀疑更改JSP页面的缓存设置会产生影响。

答案 1 :(得分:0)

我认为你的意思是你的JSP页面生成的HTML包含对SWF的引用 - 这是常见的情况。在这种情况下,浏览器发出(至少)两个HTTP请求 - 一个用于JSP页面,一个用于SWF文件。由于SWF文件是静态的,因此可能由J2EE服务器或您的Web服务器(例如Apache)提供,具体取决于您的配置。您需要检查适用于静态内容的缓存设置(例如图像),并确保这些设置阻止SWF的缓存。您的JSP缓存设置只会影响HTML而不影响SWF。

理想情况下,使用Firefox和Firebug浏览您的网站,并检查每个HTTP请求的标头(Firebug的Net选项卡)。这应该为您提供有关哪些标头适用于SWF所需的信息。