如果我使用history.back()
按钮按下那么会发生什么?
HTML内容是否会从浏览器的本地历史记录或缓存中显示,而浏览器是否没有请求服务器?或者浏览器会根据驻留在浏览器历史记录中的URL请求服务器吗?
答案 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()
按钮的行为取决于浏览器制造商。