客户端导航控件是否应该重用旧响应或旧请求? [英] Should client navigation controls re-use old responses or old requests?

查看:38
本文介绍了客户端导航控件是否应该重用旧响应或旧请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

来自 1999 年的 HTTP/1.1 RFC 2616,

解决方案

来自 Firefox 开发者发布说明 '使用 Firefox 1.5 缓存':

<块引用>

Firefox 1.5 对整个网页使用内存缓存,包括它们的 JavaScript 状态,用于单个浏览器会话.倒退并在访问的页面之间转发不需要页面加载,并且保留 JavaScript 状态.这个功能,被一些人称为bfcache(用于反向缓存"),使页面导航非常快.这种缓存状态会一直保留到用户关闭浏览器.

在某些情况下,Firefox 不缓存页面.以下是页面未缓存的一些常见编程原因:

  • 页面使用了 unloadbeforeunload 处理程序;
  • 页面设置了缓存控制:无存储".
  • 该站点是 HTTPS,并且页面集至少包含以下一项:
    • 缓存控制:无缓存"
    • Pragma:无缓存"
    • 带有到期:0";或过期"具有相对于日期"的值的过去的日期值.标头(除非缓存控制:最大年龄="也指定);
  • 当用户离开页面或由于其他原因(例如XMLHttpRequest));该页面正在运行 IndexedDB 事务;
  • 顶级页面包含由于此处列出的任何原因而无法缓存的框架(例如