百度站长平台MIP
MIP(Mobile Instant Pages - 移动网页加速器),是一套应用于移动网页的开放性技术标准。通过提供 MIP-HTML 规范、MIP-JS 运行环境以及 MIP-Cache 页面缓存系统,实现移动网页加速。
MIP 主要由三部分组织成:
- MIP-HTML:基于 HTML 中的基础标签制定了全新的规范,通过对一部分基础标签的使用限制或功能扩展,使 HTML 能够展现更加丰富的内容。
- MIP-JS:可以保证 MIP-HTML 页面的快速渲染。
- MIP-Cache:用于实现 MIP 页面的高速缓存,从而进一步提高页面性能。
1. MIP-HTML
下面是一段简单的 MIP-HTML 代码示例:
<!DOCTYPE html> <html mip> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"> <link rel="stylesheet" type="text/css" href="https://c.mipcdn.com/static/v1/mip.css"> <link rel="canonical" href="https://www.example.com/your/path.html"> <!-- noscript 标签是为了在不支持 script 的环境下快速的展现 MIP 页面,推荐使用 --> <noscript> <style mip-officialrelease> body { -webkit-animation: none; -moz-animation: none; -ms-animation: none; animation: none; } </style> </noscript> </head> <body> <h1>Hello World!</h1> <script src="https://c.mipcdn.com/static/v1/mip.js"></script> </body> </html>MIP-HTML 规范中有两类标签,一类是 HTML 常规标签,另一类是 MIP 标签。MIP 标签也被称作 MIP-HTML 组件,使用它们来替代 HTML 常规标签可以大幅提升页面性能。
例如:
<mip-img>标签,它使得图片只在需要时才进行加载,减少了页面渲染时间,节省了用户的流量。2. MIP-JS
MIP-JS 用于管理资源的加载,并支持上述 MIP 标签的使用,从而确保页面的快速渲染,提高页面各方面的性能。
MIP-JS 最显著的优势是能够异步加载所有外部资源,整个页面渲染过程不会被页面中的某些元素阻塞,从而实现页面渲染速度的提升。
此外,MIP-JS 还涵盖了所有
iframe的沙盒、在资源加载前提前计算页面元素布局、禁用缓慢 CSS 选择器等技术性能。3. MIP-Cache
MIP-Cache 是一套基于代理的 CDN(Content Delivery Network) 缓存系统,可用于缓存所有被百度相关页面引用或者从百度相关服务点出的 MIP 页面。
用户在访问 MIP 页面的时候,请求首先会发到 CDN 服务器,如果页面存在,则从 CDN 返回,如果 CDN 上不存在,则会请求第三方服务器。同时 MIP-Cache 服务器会将页面缓存到 CDN 上。在使用 MIP-Cache 时,MIP 页面所需要的所有静态文件和外部资源都会被缓存到 CDN 上(视频除外),并且页面中的资源链接会被转换成相对地址,很大程度上提升了页面渲染速度。每一个 MIP 页面都会绑定一个验证系统,在页面进行渲染时,这种验证器可以直接在浏览器控制台中输出页面的错误。并且随着代码逻辑的变化,能够展示其对页面性能以及用户体验的影响。
开发指南
按照下面的步骤,你可以快速创建一个基本的 MIP HTML 页面;通过进一步了解 MIP HTML 规范、对 MIP HTML 页面进行阶段性的验证等内容,你可以轻松开发出理想的 MIP 页面。
基本步骤包括:
- 创建基础 MIP HTML 页面
- 引入图片
- 调整样式和布局
- 预览和验证
- 最后一步
技术规范
1. 头部使用规范
- 起始标签使用<!doctype html>
- html标签必须加上mip标记,即: <html mip>
- 必须包含<head>和 <body>标签
- 必须在head标签中包含字符集声明: <meta charset="utf-8">,字符集统一为utf-8
- 必须在head标签中包含viewport设置标签: <meta name="viewport" content="width=device-width,minimum-scale=1">,推荐包含initial-scale=1
- 必须在head标签中包含<link rel="stylesheet" type="text/css" href="https://c.mipcdn.com/static/v1/mip.css">
- 必须在body标签中包含<script src="https://c.mipcdn.com/static/v1/mip.js"></script>
- 必须在head标签中包含<link rel="canonical" href="http(s)://xxx">
百度站长平台MIP的更多相关文章
- 【转】百度站长平台MIP引入工具使用心得
MIP引入主动推送流程 对于 MIP 站点改造好了,我们如何提交数据,并且 MIP 提交后,我们能得到哪些数据的反馈,在这里简单的写一篇文章,说一下. 改造 MIP,我们一般是添加了一个二级域名站点进 ...
- 百度站长平台HTTPS认证所遇到的坑
坑1: 百度站长平台https认证失败,提示:请确保您网站的所有链接均支持https访问,且未使用不安全协议(如:SSL2.SSL3等协议). 解决办法: 1. 友情链接检查, 要检查所有的友情链接 ...
- Python 版百度站长平台链接主动推送脚本
如果自己的网站需要被百度收录,可以在搜索结果中找到,就需要将网站的链接提交给百度.依靠百度的爬虫可能无法检索到网站所有的内容,因此可以主动将链接提交给百度. 在百度的站长平台上介绍了链接提交方法,目前 ...
- 百度站长工具进击site结果页面[SITE特型]
最近在度娘上site站点是不是发现多了一个应用展示框?没错!这就是度娘新推出的site特型,仔细看一下是百度站长平台的相关功能,作为目前国内市场占有率比较高的搜索引擎,百度站长工具进击site结果页面 ...
- SEO -- WordPress怎设置百度站长链接自动提交
百度站长平站更新了主动推送(实时)推送的方式,受到了广大站长的好评,但是对于使用WordPress的网站来说怎么设置自动提交呢,在这里介绍一种比较简单且有效的方法.我们可以使用 WP BaiDu Su ...
- 百度站长针对SEO人员关系的问题的一些解答
自然排名是全部由机器完成还是存在人工干预? 夫唯:第一个就是说经常好不容易找到了一些新的想法,用我们这些草根的话讲找到了百度的漏洞,好不容易排名上去了,过两天就会波动.有些人就怀疑说在百度的整体算法里 ...
- 广州站长沙龙 MIP 问题及答案
1. mip提交几个月时间了,生效量比较少,是什么原因? 答:提交 MIP 页面后,经过收录.校验.和生效三个步骤,才能在结果页看到闪电标. 1)提交 URL 后,spider 会去抓取收录: 2)页 ...
- 运维服务器手段(监控宝,Nagios,百度通告平台)
站在"巨人"的肩膀上运维 现实问题 之前在论坛看到一个运维工程师的帖子,内容如下: "现在的一个IT工作者最头疼的就是加班,秃顶的是IT工作者最多.单身的是IT工作者最多 ...
- 运用百度开放平台接口根据ip地址获取位置
使用百度开放平台接口根据ip地址获取位置 今天无意间发现在百度开放平台接口,就把一段代码拿了下来,有需要的可以试试看:http://opendata.baidu.com/api.php?query=5 ...
随机推荐
- Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
废了半天劲才解决... 就三步:菜单栏,Tools -> Adnroid -> enable ADB integration
- Java:使用匿名内部类在方法内部定义并启动线程
下面的代码展示了在一个方法中,通过匿名内部类定义一个Thread,并Override它的run()方法,之后直接启动该线程. 这样的代码可用于在一个类内部通过另起线程来执行一个支线任务,一般这样的任务 ...
- SpriteBuilder中使用GUI界面快速搭建RPG游戏中的地图名显示动画
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在RPG游戏中我们在进入一个新的场景时,比如一个房间,一个村庄, ...
- UNIX网络编程——fcntl函数
fcntl函数提供了与网络编程相关的如下特性: 非阻塞式I/O. 通过使用F_SETFL命令设置O_NONBLOCK文件状态标志,我们可以把一个套接字设置为非阻塞型. 信号驱动式I/O. 通过使用F ...
- Java-IO之超类InputStream
InputStream是以字节为单位的输出流,通过以下框架图可以看到InputStream是所有以字节输入流类的公共父类: 基于JDK8的InputStream类源码: public abstract ...
- 《java入门第一季》之tcp协议下的网络编程c/s实现通信交互
需求:客户端向服务器发送数据,服务器端收到数据后向客户端返回数据: 还是使用两台电脑,一台客户端,一台服务器. 客户端代码: import java.io.IOException; import ja ...
- Android读取/dev/graphics/fb0 屏幕截图
Android屏幕截图有很多方式这里只使用其中一种截图 主要是读取/dev/graphics/fb0,进行转换,复杂点就在如何把读取的数据进行转换. 可以参考一下这篇文章:http://blog.ch ...
- java Domj4读取xml文件加强训练案例
需求:给出一段xml文件.要求按照鸳鸯输出. xml文件代码如下: <?xml version="1.0" encoding="utf-8"?> & ...
- C++ Primer 有感(顺序容器)
1.顺序容器的元素排列次序与元素的值无关,而是由元素添加到容器里的次序决定. 2. 顺序容器 vector 支持快速随机访问 list ...
- shell sed过滤器详解
1. Sed简介sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中 ...