HTML缓存历史记录

时间:2010-04-23 02:47:32

标签: html caching back browser-history

如果我使用history.back()按钮按下那么会发生什么?

HTML内容是否会从浏览器的本地历史记录或缓存中显示,而浏览器是否没有请求服务器?或者浏览器会根据驻留在浏览器历史记录中的URL请求服务器吗?

2 个答案:

答案 0 :(得分:4)

在JavaScript中调用“history.back()”与在浏览器的用户界面中按下后退按钮相同(但是,如果当前查看的位置包含框架并且已导航,则可能会有轻微差异,如果您'迂腐)。

至于结果是来自服务器还是“缓存”:由用户代理(浏览器)决定。规范(RFC 2616第13.13节,http://256stuff.com/gray/docs/rfc2616/13.html#13.13)说:

  

历史机制和缓存是   不同。特别是历史   机制不应该试图显示   语义透明的观点   资源的当前状态。相反,一个   历史机制旨在表明   正是用户当时所看到的   何时检索资源。

但是,用户代理的实施质量不同。例如,可以在https://bugzilla.mozilla.org/show_bug.cgi?id=288462

找到Mozilla / Firefox的相关元bug

如果您尝试“返回”的页面具有合适的缓存标头,则会从缓存而不是从服务器获取该页面。

答案 1 :(得分:0)

这取决于浏览器。

history.back()按钮的行为取决于浏览器制造商。