如何仅为后退按钮缓存内容

7

请问如何为我的页面设置缓存,以便用户点击后退按钮时,即使处于离线状态或其他情况,仍然可以看到之前的页面,就像在SO和大多数网站上一样。

但是,如果内容每分钟都在更改(例如论坛),我该如何强制执行在发送新的HTTP请求时获取新的内容呢?

谢谢!


你无法控制客户端是否发送新的请求(即使是对于后退按钮)。 - Repox
如果您使用缓存头,它将缓存页面直到您单击刷新按钮或使用新的头强制刷新。 - Lawrence Cherone
@LawrenceCherone 如果你打开 Stackoverflow 的新页面,你不会得到最新版本(或者至少不晚于30秒)。那么他们是如何制作一个即使没有连接到互联网也能持续的缓存呢? - yehuda
@Repox:请看我对Lawrence的问题。 - yehuda
Caching tutorial for Web Authors and Webmasters - 这里有一个清晰的解释,说明了HTTP缓存是如何工作以及如何使用它。 - Leri
2个回答

0

唯一真正实现这一点的方法是告知客户端浏览器可以缓存网页,这样(有时)如果缓存时间尚未过期,浏览器就不会发送另一个HTTP请求(详见此处:http://en.wikipedia.org/wiki/Web_cache#Cache_control)。

然而,如果页面内容是动态的并且持续刷新(如您所暗示的论坛),那么您可能根本不希望允许浏览器进行缓存。


那么当你在Stackoverflow上在线时,如何按返回按钮呢? - yehuda

0

我终于发现了一个奇怪的事情,就是在所有页面上都放置缓存,可以让它们永远拥有返回按钮,但是当页面被刷新时,它仍然会从服务器获取新的页面。

很奇怪,但它确实有效!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接