文章 · 性能优化
自托管字体到底值不值得
把字体托管给第三方 CDN 曾经是省事的默认选择。现在它要回答两个问题:省下的带宽值不值得,以及访问者的 IP 落到了谁手里。
省事的部分
第三方字体服务帮你处理跨域、缓存和格式兼容,接入成本几乎为零。对早期项目来说,这个便利是真实的。
代价的部分
字体请求会带上访问者的来源信息,等于把每个访客的 IP 交给了第三方。在隐私合规越来越严的环境里,这件事本身就是一个需要交代的风险点。
自托管要补的三件事
- 自己配好缓存头,否则每次访问都会重新拉一遍字体
- 做好格式回退,保证老浏览器也有可用字体
- 把字体文件和站点放在同一个域,省掉一次额外的连接建立
结论是分场景的:面向公众的内容站,自托管的收益明显;内部系统赶工期,用现成服务也说得过去。关键是别默认,而是想清楚再选。
评论6
登录后参与评论,你的发言会署上自己的名字。
许原作者@xuyuan·2026-09-04
先占个位:文里的数字都是本地实测的,测试环境写在文末备注里,有疑问直接在这儿回。
何知白@hezhibai·2026-09-05
中文按需加载这块终于有人把量化的过程写出来了,之前看到的都只给结论。
苏晚@suwan_dev·2026-09-06
我们也是这么做的,唯一想补充的是切片之后记得把字体文件放到带长缓存的路径上。
顾青@guqing·2026-09-07
对,缓存头配错的话每次访问都会重下,前面省下的全还回去了。
郑一鸣@yiming·2026-09-07
想问下这种切片方案在字体版本升级的时候怎么处理?全部重下还是只换变化的分片?
吴桐@wutong·2026-09-08
行高和字距那一段说得很实在,中文确实不能照搬西文那套参数。