2012-10-24 70 views
0

我很大程度上依赖应用程序缓存来处理我正在构建的Web应用程序。我注意到,我没有在应用程序缓存中明确提到的一些项目(如一些图像文件)正在被浏览器缓存缓存。应用程序缓存或浏览器缓存

所以我面临这个问题:我应该让浏览器缓存管理这些图像文件,还是应该将它们包含在缓存清单中?什么是权衡表现明智?

+1

对于那些不熟悉的人,似乎“ApplicationCache”是一个HTML5特性,与某些服务器端框架可能使用的应用缓存不同:http://www.html5rocks.com/en/tutorials/appcache/beginner/ – JayC

回答

2

鉴于你说你严重依赖应用程序缓存的事实,我建议你将这些图像添加到CACHE MANIFEST。

正常的浏览器缓存工作正常,当涉及到加快网站假设适当的缓存http头与这些图像一起发送。但是,浏览器还会偶尔检查这些文件是否发生了变化。特别是当用户点击ctrl-f5(刷新)时。

应用程序缓存的方式更具侵略性,当谈到缓存,所以我会添加类似下面的我的缓存清单:(没有必要的路径后面的*)

CACHE: 
/path/to/images/ 

上面的方法可能是首选,因为它会降低链接到不存在的文件的风险,因此如果浏览器中的任何文件返回的内容不是http中的http状态代码,则整个缓存对浏览器无效将忽略缓存200的范围。基本上,使用Appcache可以提高网页性能,并且比普通的缓存浏览器更可靠。

+0

是,我正在使用应用程序缓存我的Web应用程序。我想知道这种方法和浏览器缓存方法之间是否存在任何性能折衷。 – thunderboltz

+0

我已更新答案。基本上,使用Appcache将提高网页性能,并且比普通缓存浏览器更可靠。 –