Accelerated Mobile Pages
✍ dations ◷ 2025-02-24 19:54:45 #2016年面世,HTML
Accelerated Mobile Pages(简称AMP,意为“加速移动页面”)是Google带领开发的开源项目,目的是为提升移动设备对网站的访问速度。AMP也可指其派生的标准和库等项目成果。AMP在HTML等广泛使用的网络技术基础上进行改良,它的核心称作AMP HTML,是HTML的一种。服务于技术预览期结束后的2016年2月正式发布。
AMP大致可分为AMP HTML、AMP JS和AMP Cache三部分。
AMP HTML是描述网页所用的标记语言,相当于普通网页使用的HTML之亚种。AMP HTML在图像显示等方面使用与HTML不同的专用标签,另外还限制了HTML部分功能的使用。
AMP JS是一套JavaScript库,保证AMP HTML的正确和快速显示。除此之外,AMP JS还负责在只支持普通HTML的浏览器中担任桥梁,使其能正确支持AMP HTML的专用功能。AMP HTML中可以调用该函数库。
AMP Cache是缓存并传输AMP页面的CDN,进一步提高AMP网页的性能。用户在搜索引擎中点击AMP网页时,实际上访问的是优化后的缓存页面。Google的AMP Cache名为Google AMP Cache。
与创建普通网页时创建的HTML类似,创建AMP页面时是以AMP HTML的方式创建,写法上大部分与HTML相同。文件扩展名亦同样是.html
,但也有人选择.amp.html
以示区别。
AMP项目网站上有AMP HTML的详细标准,以下为其中独特的部分。
AMP HTML的头部格式如下。
<!doctype html><html amp lang="zh"> <head>
其中DOCTYPE声明(英语:Document type declaration)与普通的HTML5完全一样,但起始标签<html>
改为<html amp>
或包含绘文字的<html ⚡>
。
<head>
标签须含有的元素包括charset
和viewport
元标签,格式固定的<style>
元素,以及读取AMP JS库的<script>
元素等(其中一部分顺序也有规定)。此外,通过加入JSON-LD(英语:JSON-LD)形式的结构化数据等,页面可以包含向搜索引擎等工具传递合适信息的元数据。
除普通HTML元素外,AMP HTML还可使用一些独有元素(标签),即自定义元素。例如用于显示图像的<amp-img>
(取代普通的<img>
元素),显示布局侧边栏的<amp-sidebar>
,显示外部站点内容的<amp-facebook>
、<amp-twitter>
,等等。
AMP中不可使用用户JavaScript,但有作为代替的自定义元素,代表性的有显示广告的<amp-ad>
和用于访问分析(日语:アクセス解析)的<amp-analytics>
。
部分自定义元素要求使用时添加一些附加JavaScript库(在<head>
标签内)。
AMP页面与普通页面一样,使用CSS进行样式布局。但CSS不能用外部文件表示,也不能在各元素的style
属性中分别定义,必须写在AMP HTML开始部分<head>
标签中的单一<style>
元素中(可在服务器端动态生成CSS后嵌入AMP HTML)。包括媒体查询器和多数的属性选择器在内,大部分CSS功能都可在AMP中使用,禁用的则有!
important
限定符和*
选择器等。
另外,AMP允许通过元素的layout
属性控制布局。例如,自适应图像可通过<amp-img layout="responsive">
表示。
部分HTML元素和属性的使用受到限制,特别是图像和媒体方面,这些均由AMP自有的自定义元素替换。
AMP中,用户自己的JavaScript,以及jQuery、AngularJS这类普通JavaScript库原则上不能使用。作为代替方案,可使用AMP HTML的自定义元素制作交互式网页。
使用AMP的网页可快速读取并显示,访问者在点击链接后无需等待即可看到页面内容。根据Google发布的数据,网页若是访问速度过慢,多数用户会放弃并关闭网页,快速加载的页面对网站制作者也有利。
在Google搜索结果中,妥善创建的AMP网页旁会出现AMP标志,新闻等部分内容还会采用轮播(carousel)的特殊样式。
AMP收到科技行业的广泛批评。一些人认为谷歌试图通过制定网站的构建和盈利方式来保持其在互联网的主导地位、将出版商锁定在其生态系统中。
AMP常被与Facebook Instant Articles和苹果新闻比较,三者都发布于2015年,旨在提供更快的移动内容。AMP项目的支持者声称:APM是发布者和技术公司间的合作成果;AMP是为互联网,而不是专属应用程序设计的。
部分媒体已开始使用AMP,包括CNN、美国广播公司和福克斯新闻。安装第三方插件后,WordPress博客也可使用AMP。
2017年3月7日,Google宣布百度、搜狗和Yahoo! JAPAN搜索将支持AMP;其中百度在搜索结果中将AMP页面标注为“MIP”(移动网页加速器),一个百度主导、与AMP类似的项目。