【发布时间】:2010-02-05 23:20:24
【问题描述】:
我的朋友给我发了一个指向这个小page 的链接,它显示了一个简单的 HTML+CSS 布局页面。但是,如果您查看源代码,您会发现没有指向 css 文件的链接。
如果你使用 ff 和 firebug,你可以看到在 NET 下,css 文件是通过一个发送的标头链接的(只是想向你们展示一下)。
我的问题是,您是否有任何假设为什么这不适用于 safari,即?我假设标题不依赖于浏览器。什么给了?
【问题讨论】:
我的朋友给我发了一个指向这个小page 的链接,它显示了一个简单的 HTML+CSS 布局页面。但是,如果您查看源代码,您会发现没有指向 css 文件的链接。
如果你使用 ff 和 firebug,你可以看到在 NET 下,css 文件是通过一个发送的标头链接的(只是想向你们展示一下)。
我的问题是,您是否有任何假设为什么这不适用于 safari,即?我假设标题不依赖于浏览器。什么给了?
【问题讨论】:
您可能会发现这是一个有用的资源:@987654321@
不确定为什么它在 Safari/Chrome (Webkit) 中不起作用,但可能是因为:
本部分仅适用于符合定义 Link 标头字段的 HTTP 版本的用户代理。请注意,[RFC2616] 定义的 HTTP 1.1 不包含 Link 标头字段(请参阅第 19.6.3 节)。
【讨论】:
这是 HTML 规范的一部分,虽然不是 HTTP 1.1 的标准部分。 (RFC2616 没有定义 Link 字段。)
因此,由各个用户代理来实现它。它非常晦涩,也不是很有用,所以我猜它没有在 Webkit 中实现,要么是因为不知情,要么是故意避免模糊的功能。
【讨论】:
http://www.w3.org/TR/html4/present/styles.html#h-14.6
14.6 链接到带有 HTTP 标头的样式表
本部分仅适用于符合定义 Link 标头字段的 HTTP 版本的用户代理。请注意,[RFC2616] 定义的 HTTP 1.1 不包含 Link 标头字段(请参阅第 19.6.3 节)。
所以基本上,这在 http 1.1 中不是标准的。
【讨论】:
Mozilla 实际上有一篇题为 Link prefectching 的 MDC 文章,其中几乎涵盖了您想了解的所有内容以及他们支持它的原因。就我个人而言,我认为这听起来像是对时间和带宽的巨大浪费,并且只是为浏览器攻击敞开了大门。这是直接解决您的问题的报价:
哪些浏览器支持链接预取?
基于 Mozilla 1.2(或 稍后)以及基于 Mozilla 1.0.2(或更高版本)支持 预取。这包括 Firefox 和 网景 7.01+。卡米诺构建于 2003年3月基于Mozilla 1.0.1, 因此不支持 预取。测试你的浏览器看看 如果它支持链接预取。
【讨论】: