AMP

使用网络打包来改进 AMP 网址的初步尝试

未分类

人们对 AMP 分享的最重要的反馈之一是关于在 Google 搜索中链接到 AMP 内容时使用的“google.com/amp…”网址。几个月前,Google 的 AMP 团队概述了一项计划,以显示更好的 AMP 网址,今天我们想分享这项工作的进展。

我们的方法使用新兴网络打包技术的一个组件,这些技术还支持一系列其他用例。此组件允许发布者对 HTTP 交换(请求/响应对)进行签名,然后允许缓存服务器执行实际将该交换传递给浏览器的任务。当浏览器加载此“已签名交换”时,它可以在浏览器地址栏中显示原始发布者的网络来源,因为它可以证明与常规 HTTPS 连接类似的完整性和真实性属性。

解决此问题对用户和发布者都有好处。用户看到的网址与他们基于搜索结果页面上识别的发布者预期的网址一致。得益于预先获取,发布者可以保留其在地址栏中的品牌并即时加载。

为了确认提议的技术在实践中有效,AMP 项目与两家合作伙伴 Pinterest 和 Food Network 合作,他们签署了其 AMP 内容并将这些已签署的交换发布到网络。为了简化此流程,他们使用了一组新的工具,这些工具可在 https://github.com/ampproject/amppackager 上找到。 此外,还可以在 https://github.com/WICG/webpackage/tree/master/go/signedexchange 上找到一个非 AMP 特定的软件包工具。

Chrome 团队已经为开发者构建了足够的已签署交换支持以供其试用。从 Android 上的 Chrome 67(在撰写本文时处于测试版频道)开始,您可以在 chrome://flags 下启用实验性“已签署的 HTTP 交换”标志,以使用 Web Packaging 的已签署交换。在此实验性实现的同时,Chrome 团队还一直在收集标准机构成员、其他浏览器供应商、安全专家、发布者和网络开发者的反馈,以完善和改进 Web Packaging 规范。

最后,为了将所有内容联系在一起,Google 搜索团队已经实施了一个 Google 搜索版本,该版本说明了端到端流程。当有已签署交换时,Google 搜索会链接到从 Google 的缓存中提供服务的 已签署 AMP 页面,而不是链接到从 Google 的 AMP 缓存中提供服务的 AMP 页面。



有很多事情在幕后进行,以确保从 Google 搜索中打开 Food Network 结果非常快!

如您在上面的动画中所见,AMP 内容的最终网址位于 foodnetwork.com 域上,完全符合预期,并且具有人们在 AMP 页面上享受的快速加载速度。我们非常高兴能够验证设想的方法可以在多层技术中使用。但是,重要的是要记住,现在还处于早期阶段,您所看到的内容尚未准备好发布。如上所述,我们希望从浏览器供应商和网络社区获得更多反馈,以进一步完善与 Web Packaging 相关的规范并努力完成它们。

如果您对此领域感兴趣,请 联系我们,我们将继续致力于在有其他进展可分享时提供更新。

发布者:Chrome 软件工程师 Kinuko Yasuda 和 Google 搜索软件工程师 Eric Steinlauf