
我在原型和10M+ MAU产品中使用了谷歌字体。它非常容易上手,并提供了一个惊人的字体发现。这也是为什么现在仍有超过4200万个网站在使用它!
这种便利有它的代价:性能。许多人已经指出了多次请求的成本。如果你想要剩余的速度提高,那么你最好下载你使用的谷歌字体和自我主机。
这不是什么新鲜事。事实上,它已经被提倡很多年了。甚至连谷歌自己也在谷歌I/O ' 18谈到web性能时,建议其他人自行托管字体。
自托管字体vs谷歌字体
从本质上讲,谷歌字体,即使有它所有的字体和CSS优化,也不能比自托管字体更快。
Sia写了一篇很好的文章,比较了谷歌字体和自托管字体在不受CDN影响的情况下的表现。
网络流与谷歌字体
优化的谷歌字体加载预连接
网络流与自托管字体
优化自托管字体与预加载
旧的性能参数
那么,如果最基本的性能是自托管字体的优势:是什么使我们的开发者相信谷歌字体至少和自托管字体一样的性能呢?
谷歌字体被设计成分布在一个全局CDN上,并从中获得缓存的好处。用户通过上述CDN请求字体。他们很有可能在较早的时候已经从不同的站点下载了字体资源。
“[…]我们的跨网站缓存设计,你只需要加载字体一次,与任何网站,我们将使用相同的缓存字体在任何其他网站使用谷歌字体。”
使旧的性能参数无效
自从Chrome v86于2020年10月发布以来,像字体这样的跨站点资源就再也不能在同一个CDN上共享了。这是由于浏览器缓存的分区(Safari多年前就有了这种分区)。
在这篇谷歌文章中,他们解释了什么是分区浏览器缓存。它的引入只是为了防止可能的跨站点跟踪机制。
其他浏览器中的缓存分区
Safari真的很关心隐私。多年来,它已经避开了这种跨站点跟踪攻击。最后是Chrome。其他基于Chromium的浏览器仍然需要显示或实现该特性。
Chrome:既然v86(2020年10月)
Safari:自2013年以来
Firefox:计划实施
边缘:最有可能很快
歌剧:最有可能很快
勇敢:最有可能很快
维瓦尔第:最有可能很快
结论
谷歌字体资源将为每个网站重新下载,无论它被缓存在CDN上。自托管你的字体以获得更好的性能。旧的性能参数不再有效。
谢谢观看这篇文章!
上一篇:增加在线课程价值的方法
下一篇:建立网络影响者声誉的指南
