日志 ·
打开一次,离线也能读
AI 翻译 本页是原文(英文/韩文)的机器翻译,可能存在错误,请以原文为准。 阅读原文
ipe.rest 会在你的浏览器里保存一份自己的小副本,所以已经打开过的页面,没有网络连接也能再次打开。下面说明它是怎么做到的,以及它不会做什么。
上一篇我们列出了这个网站记住了你的哪些内容,其中一项是网站自身文件的缓存。这一篇就讲这份缓存:它为什么存在,它如何运作,以及怎样清除它。
主页会准备什么
打开主页时,它会注册一个叫作 Service Worker 的小程序。浏览器在后台运行它,与页面各自独立。它的工作很简单:站在网站和网络之间,决定每个文件该从哪里获取。
它第一次运行时,会保存一份简短的核心文件清单:各个主页、日志索引、关于、联系和隐私页面、图标以及字体。其余的内容会在你阅读时再保存。
页面:网络优先
对于页面,Service Worker 会先询问网络,而且是向服务器确认页面有没有变化,而不是相信浏览器里保留的旧副本。联网时你拿到的总是最新的页面,每次也都会有一份新副本存入缓存。
如果网络失败,它就退回到自己保存的副本。所以只要你在这个浏览器里打开过一次主页,昨天打开过的文章,今天在没有信号的火车上依然能打开。从未打开过的页面不可能在缓存里,这时它会显示主页,而不是浏览器的错误页面。
字体、图标和样式:缓存优先
很少变化的文件则相反。它先查看缓存,只有在没有副本时才去网络获取。这就是字体和图标不会在每次访问时重新下载的原因。
旧副本如何消失
缓存有一个版本名称,每当网站的文件发生变化,我们就会更改这个名称。新版本启动后,它会删除所有名称不同的缓存。旧副本不会堆积在你的设备上,我们发布的修复在你下次访问时就会送达。
如果想自己清除全部内容,请在浏览器设置中清除该网站的数据。下次访问将从零开始。
它不会做什么
缓存只是保存在你浏览器里的一堆普通文件。它不是关于你的档案,里面的任何内容也不会发送给我们。它无法显示你从未打开过的页面,而指向其他网站的链接,比如 YouTube 上的某首曲目,和别处一样仍然需要网络连接。
我们为什么费这个心
一份关于安静事物的日志,不该要求信号完美。人们会在候诊室里、通勤路上阅读,能从保存的副本中打开的网站,对这些时刻更体贴。
ipe(); // open it once, and it remembers how to open itself
如果某个页面看起来过时了,请在联网时刷新一次。页面本身总是重新请求最新的内容;只有很少改变的文件(字体、图标、样式、脚本和图片)来自缓存,而且它们会随每个新版本更新。