服务器推woff2有意义吗?

时间:2018-03-07 16:05:41

标签: webfonts http2 server-push

我读了很多关于http2的服务器推送。还进行了一些实验(在初学者的水平上)......

好吧,我的问题是:服务器推送woff2网络字体是否有意义? (因为不是每个浏览器都使用它们),是否有推送正确字体的方法(如果还没有在缓存中)?

Zach指出拥有快速字体交付解决方案的重要性,而CSS-Tricks(Chris Coyer)有一个很好的方法可以让它完成缓存感知......

谢谢! 大卫

1 个答案:

答案 0 :(得分:1)

这是一个有趣的问题。答案是:不,你不应该这样做。但原因与你想象的有点不同......

For reasons that are a bit cryptic,总是在没有凭据(基本上是cookie)的情况下请求字体。对于大多数浏览器(Edge是例外),这意味着浏览器为该请求打开另一个连接,这很重要,因为HTTP / 2 Pushes链接到连接。因此,如果您在一个连接上推送资源,并且浏览器从另一个连接获取资源,它将不会使用该推送的资源(您不会像您想象的那样直接进入HTTP缓存)。

这一点以及Jake Archibald在其出色的HTTP/2 push is tougher than I thought文章中讨论了许多其他HTTP / 2推送技巧和边缘案例。

但它确实提出了一个问题,即如果这不是一个问题,或者如果你想发送不同的图像格式(可能在同一个连接上),你可以决定推送什么格式。除了查看用户代理并基于此进行猜测之外,现在您可以了解浏览器支持的内容。

目前正在提出一个新的HTTP Client Hints header,旨在允许浏览器指明设备细节。目前这更关注图像大小和密度,但理论上也可以包括支持的文件格式。

相关问题