鉴于JSON API端点/api/config
,我们尝试在HTML文档的头部使用<link rel="prefetch" href="/api/config">
。当Chrome访问HTML中的链接标记时,Chrome会按预期下载数据,但会在一秒钟后通过XHR从我们的脚本再次请求数据。
服务器配置为允许缓存,并在标头中使用Cache-Control: "max-age=3600, must-revalidate"
进行响应。当Chrome再次请求数据时,服务器会以304 Not Modified状态正确响应。
用例是这样的:将始终使用XHR(AngularJS解析,如果相关)从我们的单页面应用程序中的Javascript请求配置端点。但是,我们的脚本非常大并且需要很长时间才能解析,因此在解析完成之前不会请求JSON配置。预取将允许我们使用一些解析时间来从API端点获取和缓存响应,否则必须等待脚本加载。