当我在浏览器中按<== back
按钮时,发生了什么?
unchanged
则使用本地缓存?由于这些情况,我不清楚:
我的观点是,再次查询将是最好的主意,但它并不是最快的,浏览器可能希望在这种情况下快速(给用户留下深刻印象)......另一方面,存储页面状态必须耗费了大量的记忆......
答案 0 :(得分:6)
取决于。
这取决于HTTP请求方法。如果页面是GET,浏览器可能决定对其进行缓存,而不是重新请求。 POST和其他HTTP方法没有缓存,因为它们可能有副作用服务器端。这就是为什么如果你回到由POST请求加载的页面,你甚至会得到一个警告对话框。
这取决于缓存标头。 (See here)导航回来时,可以重复使用其标头中明确允许缓存的页面。
这取决于浏览器。有些人已经对用户体验进行了大量优化(更多缓存,更快速,更多陈旧)。其他人更简单,只需重新请求页面。
这取决于内存使用情况,尤其是在移动设备上。如果页面很大或者没有大量可用内存,浏览器可能会决定不保留页面内容和状态。
浏览器是复杂的软件,聪明人一直在努力优化它们。
至于使用什么级别的缓存进行后退导航,我认为有三个主要级别
(这可能是一种过度紧张,但它会给你一般的想法。)
答案 1 :(得分:1)
W3C网站中的代理(包括浏览器)规范说: http://www.w3.org/TR/2014/WD-UAAG20-Reference-20140925/#sc_315
对于导航耗时的用户来说也是有益的, 累人,或痛苦,因为它允许他们避免重新进入 长网址。 Back功能是UA用户界面的一部分 渲染内容。
可能的解释可能是:&#34;返回,但不要丢失数据!&#34;每个浏览器都定义了自己的后退按钮。