HTTP

时间:2014-06-09 23:11:13

标签: cross-browser http-headers httprequest browser-cache prefetch

如果html页面具有指向具有no-cache pragma标头的资源的预取链接,会发生什么?

2 个答案:

答案 0 :(得分:0)

  

但如果它在没有实际使用的情况下加载资源,它会在后续请求中被丢弃吗?

这取决于浏览器。 IE11的运作方式如下:

  

预呈现的页面并不总是显示给用户。这些条件导致预渲染页面从内存中丢弃而不显示:

The user doesn't open the target page within five minutes.
The user opens a different page.
The user switches to a different tab or browser instance.
A JavaScript process adds a new link element that requests a different webpage to prerender.
An error occurs while loading the target page, including HTTP error code 500 (server error), 404 (resource not found), or related errors (such as connection problems).
  

当放弃预渲染页面然后稍后请求时,它将直接从托管服务器加载。如果页面仍在浏览器缓存中,则可能加载速度更快;但是,这不能保证。

<强>参考

答案 1 :(得分:0)

所有浏览器(具有预取支持)都会在空闲时间(Pragma: no-cache或/和Cache-Control: no-cache)加载文档,因此我们想知道他们是否从中获取文档缓存,或者当用户实际点击&#34;时,他们会再次请求它链接。

我最近做的快速调查(浏览器是最新版本):

  • Chrome / Opera 从缓存中加载
  • Firefox 再次请求
  • IE / Edge 再次请求
  • Safari 不支持

因此,我建议您为要预取的资源设置一些缓存周期(例如5-10分钟),如果您希望从基于铬的浏览器上的缓存中获取它。