当前位置: 首页 > 知识库问答 >
问题:

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

张亦
2023-03-14

嗨,我正在使用https://tools.pingdom.com来html" target="_blank">测试我的wordpress网站速度,我有一个杠杆浏览器缓存的F,它说:

以下可缓存资源的新鲜度寿命很短。为以下资源指定至少一周的到期日:

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

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

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

https://fonts.googleapis.com/css?family=MerriweatherSAN:300400700

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

ExpiresActive上

ExpiresByType图像/jpg“访问1周”

ExpiresByType图像/jpeg"访问1周"

ExpiresByType image/gif“访问1年”

ExpiresByType图像/png“访问1周”

ExpiresByType文本/css“访问2个月”

过期按类型申请/pdf“访问2年”

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

过期按类型应用程序/x-shockwave-flash“访问2个月”

过期按类型图像/x图标“访问2年”

ExpiresDefault"访问2天"

按类型视频/mp4“访问2年”过期

共有1个答案

濮波
2023-03-14

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

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

下载并保存到您的服务器。现在,您可以在自己的css文件中使用与google样式表中相同的样式。确保更改字体。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:你不想这样做的原因是因为谷歌可能会更新字体,但是字体不会经常更新。

 类似资料:
  • 我正在尝试将Angular Service Worker集成到现有项目中。如果我理解正确,有两种情况下数据是如何缓存在Angular SW中的。可以预取或懒散地更新资产数据,并缓存特定的API调用和其他XHR请求。 我试图实现的是首先通过网络加载特定的资产,如果请求超时或无法访问,它将通过缓存提供服务。就像缓存API调用时的策略一样。但似乎没有可能为在Angular项目中作为资产加载的JS文件配置

  • 注:本文档提供的生命周期指的是 Universal App 的生命周期,它依赖 rax-app 提供的 runApp方法。 App 级生命周期 launch  在 App 启动时触发 使用生命周期 你可以使用 rax-app 提供的 useAppLaunch 来注册 App 级别的生命周期。 示例: import { useAppLaunch } from 'rax-app'; useAppLa

  • 我们大致为WebAPplication设计了4个生命周期: 请求初始化其实就是从URL中解析提取出{module}, {action}, {method}; 然后再根据{module}, {action}, {method}找到对应的Controller文件; 然后再调用对应的{method},完了之后再发送响应。当然响应的过程中肯定是要顺带着解析下模板标签啦。 恩,这就完了,貌似感觉很简单啊。

  • 如下图. 可以看出,基本周期是: created mounted updated (update 可以理解成人肉手动操作触发) destroyed 上面步骤中的 1,3,4都是自动触发。 每个步骤都有对应的 beforeXyz方法 所以, 我们一般使用mounted 作为页面初始化时执行的方法

  • 概览 组件的生命周期分为三个阶段:挂载、渲染、卸载,下图展示了解组件在整个生命周期中所涉及到的方法调用、原型方法调用和状态变化。 挂载阶段 从组件实例被创建再到被插入根组件树中,所经历的操作如下: 初始化组件实例。 根据组件类型绑定对应的原型。 调用 proto->init() 原型方法。 标记组件需要刷新全部样式。 因父组件变为另外一个组件,触发 link 事件。 更新阶段 当组件被插入到根组件

  • 框架生命周期 Hyperf 是运行于 Swoole 之上的,想要理解透彻 Hyperf 的生命周期,那么理解 Swoole 的生命周期也至关重要。 Hyperf 的命令管理默认由 symfony/console 提供支持(如果您希望更换该组件您也可以通过改变 skeleton 的入口文件更换成您希望使用的组件),在执行 php bin/hyperf.php start 后,将由 Hyperf\Se