【发布时间】:2016-07-26 15:05:38
【问题描述】:
给定一个 JSON API 端点 /api/config,我们尝试在 HTML 文档的头部使用 <link rel="prefetch" href="/api/config">。当 Chrome 在 HTML 中点击链接标签时,它会按预期下载数据,但大约一秒钟后,它会通过我们的脚本中的 XHR 再次请求它。
服务器配置为允许缓存,并在标头中以Cache-Control: "max-age=3600, must-revalidate" 响应。当 Chrome 再次请求数据时,服务器会以 304 Not Modified 状态正确响应。
用例是这样的:在我们的单页应用程序中,配置端点将始终使用 XHR(AngularJS 解析,以防相关)请求。但是,我们的脚本非常大,需要很长时间来解析,所以在解析完成之前不会请求 JSON 配置。预取将允许我们使用一些解析时间来从 API 端点获取和缓存响应,否则这些响应必须等待脚本加载。
【问题讨论】:
标签: javascript html google-chrome browser-cache prefetch