Apache 浏览器无法缓存SWF文件

Apache 浏览器无法缓存SWF文件,apache,caching,flash,Apache,Caching,Flash,我遇到浏览器未缓存SWF文件的问题 我的apache配置中包含以下内容: ExpiresByType application/x-shockwave-flash "access plus 2 months" 我可以看到SWF原始请求返回的头如下所示(expires头看起来设置正确): 请求: User-Agent Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.5) Gecko/20091102 Firefox

我遇到浏览器未缓存SWF文件的问题

我的apache配置中包含以下内容:

 ExpiresByType application/x-shockwave-flash "access plus 2 months"
我可以看到SWF原始请求返回的头如下所示(expires头看起来设置正确):

请求:

User-Agent  Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept  HTTP Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip,deflate
Cookie  auth_token=
Server  Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.5 with Suhosin-Patch proxy_html/3.0.0 mod_ssl/2.2.8 OpenSSL/0.9.8g Phusion_Passenger/2.2.5
Last-Modified   Sat, 14 Nov 2009 04:48:19 GMT
Etag    "49384-4784d7c3c8ac0"
Accept-Ranges   bytes
Content-Length  299908
Cache-Control   max-age=5184000
Expires Fri, 15 Jan 2010 20:25:42 GMT
Content-Type    application/x-shockwave-flash
User-Agent  Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept  HTTP Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip,deflate
Cookie   auth_token=
Range   bytes=0-
If-Range    "49384-4784d7c3c8ac0"
Server  Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.5 with Suhosin-Patch proxy_html/3.0.0 mod_ssl/2.2.8 OpenSSL/0.9.8g Phusion_Passenger/2.2.5
Last-Modified   Sat, 14 Nov 2009 04:48:19 GMT
Etag    "49384-4784d7c3c8ac0"
Accept-Ranges   bytes
Content-Length  299908
Cache-Control   max-age=5184000
Expires Fri, 15 Jan 2010 20:25:45 GMT
Content-Range   bytes 0-299907/299908
Content-Type    application/x-shockwave-flash
响应:

User-Agent  Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept  HTTP Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip,deflate
Cookie  auth_token=
Server  Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.5 with Suhosin-Patch proxy_html/3.0.0 mod_ssl/2.2.8 OpenSSL/0.9.8g Phusion_Passenger/2.2.5
Last-Modified   Sat, 14 Nov 2009 04:48:19 GMT
Etag    "49384-4784d7c3c8ac0"
Accept-Ranges   bytes
Content-Length  299908
Cache-Control   max-age=5184000
Expires Fri, 15 Jan 2010 20:25:42 GMT
Content-Type    application/x-shockwave-flash
User-Agent  Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept  HTTP Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip,deflate
Cookie   auth_token=
Range   bytes=0-
If-Range    "49384-4784d7c3c8ac0"
Server  Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.5 with Suhosin-Patch proxy_html/3.0.0 mod_ssl/2.2.8 OpenSSL/0.9.8g Phusion_Passenger/2.2.5
Last-Modified   Sat, 14 Nov 2009 04:48:19 GMT
Etag    "49384-4784d7c3c8ac0"
Accept-Ranges   bytes
Content-Length  299908
Cache-Control   max-age=5184000
Expires Fri, 15 Jan 2010 20:25:45 GMT
Content-Range   bytes 0-299907/299908
Content-Type    application/x-shockwave-flash
但是,在随后加载页面时,浏览器仍会发送SWF的If范围请求,如下所示:

请求:

User-Agent  Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept  HTTP Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip,deflate
Cookie  auth_token=
Server  Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.5 with Suhosin-Patch proxy_html/3.0.0 mod_ssl/2.2.8 OpenSSL/0.9.8g Phusion_Passenger/2.2.5
Last-Modified   Sat, 14 Nov 2009 04:48:19 GMT
Etag    "49384-4784d7c3c8ac0"
Accept-Ranges   bytes
Content-Length  299908
Cache-Control   max-age=5184000
Expires Fri, 15 Jan 2010 20:25:42 GMT
Content-Type    application/x-shockwave-flash
User-Agent  Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept  HTTP Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip,deflate
Cookie   auth_token=
Range   bytes=0-
If-Range    "49384-4784d7c3c8ac0"
Server  Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.5 with Suhosin-Patch proxy_html/3.0.0 mod_ssl/2.2.8 OpenSSL/0.9.8g Phusion_Passenger/2.2.5
Last-Modified   Sat, 14 Nov 2009 04:48:19 GMT
Etag    "49384-4784d7c3c8ac0"
Accept-Ranges   bytes
Content-Length  299908
Cache-Control   max-age=5184000
Expires Fri, 15 Jan 2010 20:25:45 GMT
Content-Range   bytes 0-299907/299908
Content-Type    application/x-shockwave-flash
响应:

User-Agent  Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept  HTTP Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip,deflate
Cookie  auth_token=
Server  Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.5 with Suhosin-Patch proxy_html/3.0.0 mod_ssl/2.2.8 OpenSSL/0.9.8g Phusion_Passenger/2.2.5
Last-Modified   Sat, 14 Nov 2009 04:48:19 GMT
Etag    "49384-4784d7c3c8ac0"
Accept-Ranges   bytes
Content-Length  299908
Cache-Control   max-age=5184000
Expires Fri, 15 Jan 2010 20:25:42 GMT
Content-Type    application/x-shockwave-flash
User-Agent  Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept  HTTP Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip,deflate
Cookie   auth_token=
Range   bytes=0-
If-Range    "49384-4784d7c3c8ac0"
Server  Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.5 with Suhosin-Patch proxy_html/3.0.0 mod_ssl/2.2.8 OpenSSL/0.9.8g Phusion_Passenger/2.2.5
Last-Modified   Sat, 14 Nov 2009 04:48:19 GMT
Etag    "49384-4784d7c3c8ac0"
Accept-Ranges   bytes
Content-Length  299908
Cache-Control   max-age=5184000
Expires Fri, 15 Jan 2010 20:25:45 GMT
Content-Range   bytes 0-299907/299908
Content-Type    application/x-shockwave-flash
这些后续请求似乎在If-Range报头中发送Etag,并获得206个包含整个内容的响应。我已经尝试将apache设置为取消设置Accept Ranges头文件和ETag,但在这两种情况下,浏览器都会重新请求该文件

以前有没有人见过类似的情况,并且知道如何将SWF缓存


谢谢

您可以添加一个调用flash文件的示例URL吗?是否有任何其他参数可能会强制刷新?我正在使用SWFObject嵌入swf,如下所示:SWFObject.embeddeswf(“/webcam.swf”,“#flash”,“800”,“300”,“9.0.0”,“/expressInstall.swf”,flashvars,params,attributes);firebug中的请求URL没有任何参数-这是我在查看firefox中的缓存时发现的另一件事-显然,firefox认为缓存中对象的大小是0字节-这一定是造成问题的原因,但为什么我会认为大小是0字节?关键字:数据大小:0字节获取计数:5上次修改:2009-11-16 16 16:50:14过期:2010-01-15 16:50:14应为“访问加2个月”,而不是月份