Web applications HTML5应用程序缓存更新问题(从浏览器缓存更新)

Web applications HTML5应用程序缓存更新问题(从浏览器缓存更新),web-applications,http-headers,html5-appcache,Web Applications,Http Headers,Html5 Appcache,在这个问题上,我已经沉默了一段时间,没有任何运气,希望有人能帮助我 在使用应用程序缓存开发web应用程序时,这些问题涉及应用程序缓存、浏览器缓存和代理 关于web应用程序: 该web应用程序显示高分辨率图像,并允许用户在它们之间导航。为了使交互流畅,所有图像都使用ajax预加载(加载是半智能的,因此在加载图像时会显示图像,然后继续在后台加载其余图像)。除此之外,整个web应用程序都缓存在应用程序缓存中(使用清单文件),以便在iPad上脱机访问。此外,这将提高其他浏览器的总体性能 问题: 当清单文

在这个问题上,我已经沉默了一段时间,没有任何运气,希望有人能帮助我

在使用应用程序缓存开发web应用程序时,这些问题涉及应用程序缓存、浏览器缓存和代理

关于web应用程序:

该web应用程序显示高分辨率图像,并允许用户在它们之间导航。为了使交互流畅,所有图像都使用ajax预加载(加载是半智能的,因此在加载图像时会显示图像,然后继续在后台加载其余图像)。除此之外,整个web应用程序都缓存在应用程序缓存中(使用清单文件),以便在iPad上脱机访问。此外,这将提高其他浏览器的总体性能

问题:

当清单文件更新时,浏览器(主要在OSX上的Chrome和Firefox中测试)从浏览器缓存加载文件,而不是从服务器请求。有时,浏览器缓存已过期,请求将转到实际服务器或代理。通常,这会导致web应用程序无法更新

我们已尝试在缓存控件标头处执行以下操作:

没有缓存,必须重新验证 (在Firefox中工作不需要缓存)

这非常适用于支持应用程序缓存的浏览器,强制它们在请求中包含这两个头:

  • 如果没有匹配
  • 如果修改自
当用户从清单文件请求新资产时。但是,在不支持应用程序缓存的浏览器或被告知不要通过清单文件缓存任何内容的浏览器中,常规浏览器缓存中不会缓存任何文件。这些浏览器在显示图像时会再次请求图像(而不是使用已经通过ajax调用下载的缓存图像)。服务器将使用304进行响应,因此问题并不太严重,但这不是最佳解决方案

我想要什么:

我希望在应用程序缓存中缓存文件的浏览器包括两个标题:

  • 如果没有匹配
  • 如果修改自
当他们看到清单文件已更新时。对于不使用应用程序缓存的浏览器,我希望它像往常一样缓存文件,而不是在同一会话中向服务器发送多个请求

这是可能的,还是有其他解决方案

谢谢你的帮助