以下可缓存资源的新鲜度很短 - Google 字体

Posted

技术标签:

【中文标题】以下可缓存资源的新鲜度很短 - Google 字体【英文标题】:The following cacheable resources have a short freshness lifetime - Google fonts 【发布时间】:2017-03-14 23:43:42 【问题描述】:

您好,我正在使用 https://tools.pingdom.com 来测试我的 wordpress 网站速度,并且我有一个 F 表示利用浏览器缓存,它说:

以下可缓存资源的新鲜度生命周期较短。为以下资源指定至少一周后的到期时间:

https://ssl.google-analytics.com/ga.js

https://fonts.googleapis.com/css?family=Droid+Sans

https://fonts.googleapis.com/css?family=Lora

https://fonts.googleapis.com/css?family=Merriweather+Sans:300,400,700

我还需要向我的 .htaccess 文件添加什么?我已经有了这个:

缓存过期

ExpiresActive On

ExpiresByType image/jpg "访问 1 周"

ExpiresByType image/jpeg "访问 1 周"

ExpiresByType image/gif "访问 1 年"

ExpiresByType image/png "访问 1 周"

ExpiresByType text/css "访问 2 个月"

ExpiresByType application/pdf "access 2 year"

ExpiresByType text/x-javascript "访问 2 个月"

ExpiresByType application/x-shockwave-flash "访问 2 个月"

ExpiresByType image/x-icon "access 2 year"

ExpiresDefault "访问 2 天"

ExpiresByType video/mp4 "访问 2 年"

缓存过期

【问题讨论】:

【参考方案1】:

这样做的唯一方法是下载样式表/字体并将它们添加到您的服务器,因为您无法影响 Google 的 1 天到期标头。

打开您的https://fonts.googleapis.com/css?family= 链接并获取各个字体,例如:https://fonts.gstatic.com/s/droidsans/v6/s-BiyweUPV0v-yRb-cjciPk_vArhqVIZ0nv9q090hN8.woff2

下载并保存到您的服务器。现在您可以使用与 google 样式表中相同的样式,但在您自己的 css 文件中。确保将 fonts.gstatic.com 链接更改为服务器上的文件。

如果您不想这样做,那么处理您的请求的更好方法如下:

<link rel="dns-prefetch" href="//fonts.googleapis.com">
<link rel="dns-prefetch" href="//ssl.google-analytics.com">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Droid+Sans|Lora|Merriweather+Sans:300,400,700">
<script src="//ssl.google-analytics.com/ga.js" async></script>

编辑 12/2:您不想这样做的原因是因为 Google 可能会更新字体,但是,字体并没有真正经常更新。

【讨论】:

以上是关于以下可缓存资源的新鲜度很短 - Google 字体的主要内容,如果未能解决你的问题,请参考以下文章

Volley HTTP 缓存机制

http缓存协议详解

前端学习

Google App Engine 中未显示字体真棒

设置 HTTP 缓存过期,由 Google PageSpeed 推荐

网络知识补习❄️| 由浅入深了解HTTPHTTP 缓存