Google AMP 是什么? 谷歌AMP(Accelerated Mobile Pages,加速移动页面)是Google推出法人一种为静态内容构建 web 页面,提供可靠和快速的渲染,加快页面加载的时间,特别是在移动 Web 端查看内容的时间。 AMP HTML 完全是基于现有 web 技术构建的,通过限制一些 HTML,CSS 和 JavaScript 部分来提供可靠的性能。这些限制是通过 AMP HTML 一个验证器强制执行的。为了弥补这些限制,AMP HTML 定义了一系列超出基础 HTML 的自定义元素来丰富内容。 从技术方面来说,采用 AMP 技术的网页之所以可以打开的这么快,这主要得益于它剔除了网页代码中各种可能会拖慢速度的部分,比如第三方的脚本文件、一些 HTML 标签、广告追踪器等等。 通过以上Google AMP动态效果图的演示,大家应该都知道了,如果你知道百度MIP,那么你一定或多或少听过谷歌AMP,毕竟百度MIP是国内版的AMP,而随着国内两大搜索引擎百度和搜狗加入Google AMP开源计划,相信很快Google AMP也将走进大家的视野。 AMP的目的: AMP的目的是极大的提高mobile网页的加载速度,从而更利于访问者的浏览体验。根据Google的统计,在移动端如果一个页面3秒钟还没有完成加载,那么有90%以上的访问者会关掉网页或者访问其他网页。因此,加载时间是一个获取有效流量非常重要的因此。但是,目前的网页技术并不能满足3秒完成加载这个黄金时间节点,Google端的数据显示目前mobile页面的平均加载时间为8秒!这意味着绝大对数网站90%以上的有效流量全部流失了!。问了能让大多数页面获得尽可能更快的mobile页面加载速度,AMP项目营运而生。 值得一提的是AMP项目最初由Google发起,但是很快得到了很多网站的相应,逐渐演变整一个在自然搜索方面影响蛮大的发展趋势。目前华尔街时报,纽约时报,BBC等大型新闻网站都开始采用AMP技术进行Mobile网页加速。 AMP的工作原理: AMP的工作原理简单的可以总结为: 代码减负+缓存预加载 网站端:完全按照AMP的规则书写网站页面的HTML代码,这极大的去掉了冗余代码的加载负担 网站端:遵照Google AMP规则调用JS和CSS,减轻了组件的加载负担 Google端:当页面信息完全遵照AMP规则写好后,提交给Google DNS,Google DNS会把这些AMP页面信息缓存在自己的Cache服务器中(注意:是Google自己的DNS cache服务器中) 用户端:当用户在搜索引擎中搜索到一个AMP网页,并点击的时候,Google会首先调用DNS cache服务器中缓存的数据展现给访问者,从而让访问者第一时间看到自己想看到的信息. 这样AMP页面通过页面减负和缓存预加载的方法实现了mobile页面加载速度的极大改进,据Google的数据显示,能够提高四倍的加载速度!也就是说一个页面原来用8秒加载,AMP优化之后,只需要2秒的加载时间!这可以说是极大的改进! AMP的组成: AMP(accelerated mobile page)在内容上由3部分组成: 1.AMP HTML AMP HTML 是为确保可靠性能而具有某些限制的 HTML, 它进行了一些扩展,可以构建超出基本 HTML 的丰富内容。 AMP HTML 本质上是使用自定义 AMP 属性扩展的 HTML。尽管 AMP HTML 页面中的大多数标记都是常规 HTML 标记,但部分 HTML 标记替换为了 AMP 特定标记(另请参阅AMP 规范中的 HTML 标记)。 利用这些自定义元素(称为 AMP HTML 组件) 可以轻松高效地实现常见的模式。 例如,amp-img 标记可提供完整的 srcset 支持,即使在尚不支持该标记的浏览器中也是如此。 所谓AMP HTML其实是Google对于HTML代码和标签的一套新的使用规范,它大部分继承了通用的HTML tag的使用方法,但是也有自己发明的一部分新的HTML tag的使用方法. 2.AMP JS: AMP JS 库可确保快速渲染 AMP HTML 页面。 AMP JS 库可实现所有 AMP 的最佳性能做法, 管理资源加载,并为您提供上面提到的自定义标记, 所有这些都是为了确保快速渲染您的页面。 重大优化之一就是使来自外部资源的所有内容保持异步,让页面中的任何内容都能毫无阻碍地渲染。 其他性能技术还包括:将所有 iframe 沙盒化、加载资源之前对页面上每个元素的布局进行预先计算,以及禁用性能缓慢的 CSS 选择器。 3.AMP Cache Google AMP Cache(可选)提供 AMP HTML 页面。 Google AMP Cache 是一种基于代理的内容交付网络,用于交付所有有效的 AMP 文档。 它可提取 AMP HTML 页面,对页面进行缓存,并自动改进页面性能。 使用 Google AMP Cache 时,文档、所有 JS 文件及所有图像都从使用 HTTP 2.0 的同一来源加载,从而可实现最高效率。 此外,Google AMP Cache 还带有内置验证系统,可确认页面能够正常工作,并且不依赖于外部资源。 此验证系统运行一系列断言,确认页面的标记符合 AMP HTML 规范。 另一个版本的验证器与各个 AMP 页面捆绑提供。此版本可在页面渲染时将验证错误直接记录到浏览器的控制台中,让您可以看到代码中的复杂变化可能会对性能和用户体验产生怎样的影响。