Google AMP - 缓存


Google amp 提供缓存设施,它是基于代理的内容交付网络,用于服务纯 amp 页面。默认情况下,所有有效的 amp 页面都可以使用 amp 缓存。与非放大器页面相比,它有助于更​​快地渲染页面。

目前,有 2 个 amp 缓存提供商Google AMP CacheCloudflare AMP Cache。如前所述,放大器缓存可供所有有效的放大器页面使用。如果用户不想使用放大器缓存功能,您需要使您的放大器页面无效。Amp 缓存不适用于无效的 amp 页面。

当Google搜索抓取并找到html内容的amp()时,它就会考虑缓存。

在本节中,我们将讨论 Google amp 缓存 URL 的各个组件。

子域

Google AMP 将子域添加到请求的网址中。amp 缓存子域 url 遵循一些规则。它们显示在这里 -

子域缓存 URL 规则

  • 将 AMP 文档域从 IDN (Punycode) 转换为 UTF-8。

  • url 中的破折号 (-) 替换为两个破折号 (--)

  • url 中的点 (.) 替换为破折号 (-)。

  • 转换回 IDN (Punycode)。

例如pub.mypage将替换为pub-mypage.cdn.ampproject.com。这里的cdn.ampproject.com是google amp添加的子域名。现在缓存的 url 是 Pub-mypage.cdn.ampproject.com。

内容类型

可用的内容类型是 c(代表 AMP HTML 文档)、i(代表图像)和 r(代表资源(例如字体))。如果内容类型与指定的不匹配,您将收到 404 错误。

可选的'

如果 s 存在,将从源 https:// 获取内容;否则,它将从 http:// 获取

这里显示了从 https 和 http 向缓存图像发出请求的示例 -

例子

https://pub-mypage-com.cdn.ampproject.org/i/s/examples/images/testimage.png

因此,在上面的示例中,url 的 i 表示图像,s 表示 https -

例子

http://pub-mypage-com.cdn.ampproject.org/i/examples/images/testimage.png

因此,在上面的示例中,url 带有 i(表示图像),并且没有 s,因此将从 http 中获取 url。

对于字体缓存文件,URL 如下 -

例子

https://pub-mypage-com.cdn.ampproject.org/r/s/examples/themes/lemon/fonts/Genericons.ttf

内容类型r用于字体等资源,s用于安全 URL。

对于 html 文档,url 如下 -

例子

https://pub-mypage-com.cdn.ampproject.org/c/s/trends/main.html

url 中的 c 代表 HTML 文档,后面跟着 s 代表 https://

Google AMP 缓存使用Max-age等 http 标头来决定内容缓存是陈旧还是新鲜,并自动发送新鲜请求并更新内容,以便下一个用户获取更新的内容。