2011-09-20 56 views
0

目前我在我的PHP脚本中使用header("Cache-Control: no-cache, must-revalidate");来告诉浏览器每次重新载入所有内容。但这是完全没有必要的,因为我只想要重新加载某段代码,并且缓存图片等内容 - 尤其是因为它是一个移动页面。PHP缓存控制浏览器只缓存页面的一部分

有什么办法可以确保图像获得缓存但不是文本?或者类似的东西?

注意:Javascript是不允许的。

+0

你可以强制“可能被缓存”的标题通过一些Apache调整与图像一起发送。但是没有办法表明“文件中不应该缓存”第40-302行“。缓存标头适用于页面的全部内容,而不是单个部分。 –

回答

3

图像是从一个不同的HTTP请求中检索出来的,而不是你的PHP页面,它们可以缓存在html上。 This页面描述了相当详细的缓存图像。

至于缓存页面的一部分,为什么你不能使用JavaScript?一种合理的方法是将页面缓存到时间结束,然后对非缓存内容进行ajax请求。

+0

感谢您的回答!我不能使用JS,因为页面不能有JS。它必须涵盖手机,甚至基本不支持CSS的手机。 – LouwHopley

1

不,浏览器无法请求页面的一部分,而无需特别制作的请求或使用Javascript。

您可以尝试iframe,但我完全不建议这样做。

+0

听起来合理。我也想到了。等待,也许有人有某种解决方案。 – LouwHopley