我正在开发这个网络应用程序,我想缓存一些静态内容,以减慢慢速连接的加载时间。其他部分是通过PHP和AJAX生成的,因此不能进行缓存。
我成功使用cache.manifest来缓存静态内容,例如图像,但我注意到动态页面没有使用它们。相反,他们正在再次下载图像,即使它们已被缓存,使得缓存无用。
因为我的动态内容是基于GET请求生成的,所以动态页面位于清单的NETWORK部分(例如“user?*”)。可能与它有关吗?有没有办法可以强制使用缓存的图像?
注意:动态页面的完全引用(例如“user?id = 22”)当然不在清单中。这会使这些页面的缓存无法访问吗?
答案 0 :(得分:0)
似乎我已经提出了自己的解决方案。
由于缓存动态页面(例如" user.php?id = 22")破坏了我的应用程序,我尝试插入包含对清单的引用的iframe,而不是在页面本身上引用它。这对我来说似乎没有。
我现在在清单的CACHE部分中的动态页面中包含带通配符的显式引用。这确实有效。他们现在不完全使用参数等进行缓存。 (因此应用程序仍然可用)但正在使用缓存的图像。可能不理想,但似乎是一个非常简单的解决方案。
我还没有尝试删除那些iframe,但我猜他们可以删除它们。
CACHE MANIFEST
./user.php
./user.php?*
etc...
NETWORK:
./db_connect.php
etc...