【问题标题】:Cache validator for Google WebfontsGoogle Webfonts 的缓存验证器
【发布时间】:2013-06-27 06:25:06
【问题描述】:

所以我正在创建一个超优化的网站,我的页面加载速度为https://developers.google.com/speed/pagespeed/99(满分100)

唯一让我远离百分百的是:

通过指定缓存验证器 - Last-Modified 或 ETag 标头 - 您可以确保可以有效地确定缓存资源的有效性。

什么?!我不知道我该怎么办。如何为 google webfonts 设置缓存验证器?

我有这样的网络字体:<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,800' rel='stylesheet' type='text/css'>

如果这很重要,我会在 ubuntu 上使用 apache2。

将 webfont 下载到服务器并从那里使用它会将分数降至 96,因此这也无济于事。

【问题讨论】:

    标签: caching optimization apache2 google-pagespeed etag


    【解决方案1】:

    你对此无能为力。您无法控制 Google 服务器发送的标头。

    我什至会说它报告了一个你应该修复的误报。

    http://redbot.org/?uri=http%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DOpen%2BSans%3A400%2C800

    如您所见,资源已缓存,具有最大年龄标头,甚至已压缩。

    你的网站已经够快了!我不会担心得到 100。你可以停止优化它。

    但是,如果您想进行更多修改,这里有一些改进的想法,我运行了一个报告:http://www.webpagetest.org/result/130703_H7_15KM/

    【讨论】:

    • 我实际上有一个 favicon,jQuery 是从 google 加载的。我不喜欢 jpg,但我优化了 png :)
    【解决方案2】:

    其实你可以用<link rel="prefetch" type="text/css" onload="this.rel='stylesheet'" href="fonturl">

    【讨论】:

    • 任何关于为什么这样做和/或记录在哪里的信息?
    • 它有效,我知道这一点,但仅在我所知道的 chrome 中。
    • 这是什么?它有什么作用?谢谢
    【解决方案3】:

    这是一个不错且干净的解决方案。

    那99分真的不错。但是,如果您担心剩下的 1 分,您可以从修复此问题的 Easy Fonts 库加载 Open Sans 字体。

    <link href="https://pagecdn.io/lib/easyfonts/open-sans.css" rel="stylesheet" />
    

    完整的字体参考可在Easy Fonts 网站上找到。在生产中使用 Easy Fonts 库还有更多好处。请参阅此 stackoverflow 答案:https://stackoverflow.com/a/57073920/369005

    【讨论】:

      猜你喜欢
      • 2012-05-16
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      • 2018-09-16
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多