Google Webfonts的缓存验证程序

时间:2013-06-29 16:28:53

标签: caching optimization apache2 google-pagespeed http-etag

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

让我远离百满的唯一一件事是:

  

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

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

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

如果重要的话,我正在使用apache2进行ubuntu。

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

3 个答案:

答案 0 :(得分:15)

你无能为力。您无法控制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/

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

那99分确实不错。但是,如果您担心剩下的1分,可以从Easy Fonts库中加载Open Sans字体来解决此问题。

 ReferenceError: Can't find variable: renderCall

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