<LINK rel=SUBRESOURCE href= "file" > 不缓存,尽管具有正确的缓存标头。似乎下载了两次,响应为 200OK



我在我的网站上使用glyphicon,它们是Bootstrap 3的一部分。在查看开发控制台的Network选项卡时,我意识到它们加载较晚(当浏览器的解析器到达它时),并且通过更快地将该元素带到浏览器中有提高性能的空间。

在Chrome中,可以通过:

<link rel="subresource" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.1.1/fonts/glyphicons-halflings-regular.woff">

在文档的<HEAD>

我看到DOMContentLoaded时间增加的方式表明这个文件加载两次(第一次在屏幕截图的第5行,再次在第2到最后一行)。我的怀疑进一步证实,它被HTTP响应代码(200)加载了两次,这告诉我它两次都来自远程服务器,而不是从缓存中获取。

你可以看到开发控制台是这样的:http://oi60.tinypic.com/2t9n7.jpg(万一tinypic坏了,这里是我的dropbox: https://www.dropbox.com/s/vlwgywatg9rsg8v/subresourcenotcached.png)

该资源的HTTP版本的缓存头是,但值得注意的是,开发控制台上的网络选项卡输出对于HTTP和HTTPS看起来是一样的。

HTTP/1.1·200·OK(CR)(LF)
Server:·cloudflare-nginx(CR)(LF)
Date:·Mon,·02·Jun·2014·17:49:06·GMT(CR)(LF)
Content-Type:·application/octet-stream(CR)(LF)
Content-Length:·23320(CR)(LF)
Connection:·close(CR)(LF)
Last-Modified:·Thu,·13·Feb·2014·22:45:07·GMT(CR)(LF)
Expires:·Sat,·23·May·2015·17:49:06·GMT(CR)(LF)
Cache-Control:·public,·max-age=30672000(CR)(LF)
Access-Control-Allow-Origin:·*(CR)(LF)
CF-Cache-Status:·HIT(CR)(LF)
Accept-Ranges:·bytes(CR)(LF)
CF-RAY:·13457c53f04d0378-LAX(CR)(LF)
(CR)(LF)

有没有人有洞察我如何能得到这个。woff文件缓存,并正确利用链接子资源功能在Chrome?

这是当前Chrome浏览器的一个bug。看看https://code.google.com/p/chromium/issues/detail?id=312327

最新更新