AJAX请求可以使用链接预取吗?

时间:2015-05-06 22:23:12

标签: ajax html5 prefetch

正如大多数人所知,HTML5引入了名为link prefetching的标准化浏览器机制,如果浏览器确定没有网络活动,则允许在后台预加载选定URL的内容。通过在头部添加以下内容来使用它:

<link rel="prefetch" href="http://www.example.com/">

我很好奇这个机制是否也能为XMLHttpRequest可靠地运行 - 在某种意义上说,如果我指定一个链接预取,然后在那个同一页面上稍后启动一个AJAX请求,那么XHR是HTTP byte-range request,还是要求整个页面,有效地忽略了部分预加载的页面?

英文:AJAX请求也会受益于预加载或部分预加载的内容吗?

1 个答案:

答案 0 :(得分:2)

排序回答

只要您执行GET请求(或HEAD请求),XHR就会使用预取中下载的数据。

如果在XHR时预取的文件仍在下载,则下载将采用标准优先级,并且XHR将在下载完成时返回(并非总是如此)

您可以在Crome开发人员工具

的网络标签上观察所有这些(至少)

enter image description here

第一个zip来自预取,第二个来自XHR请求 绿色等待,蓝色下载。

您实际上可以看到XHR等待预取结束