Google AMP - 缓存

Google amp 提供缓存功能,这是一种基于代理的内容交付网络,用于提供纯 amp 页面。默认情况下,所有有效的 amp 页面都可使用 Amp 缓存。与非 amp 页面相比,它有助于更​​快地呈现页面。

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

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

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

子域

Google AMP 会将子域添加到请求的 URL。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"

如果存在 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 缓存使用 http 标头(如 Max-age)来决定内容缓存是过时的还是新鲜的,并自动发送新请求并更新内容,以便下一个用户获得更新的内容。