什么是MIP?我想我们现在都知道。可是你真的了解MIP吗?MIP加速原理是什么?MIP 是用 CDN 做加速的么?准确答案是:是,但不只是。


很多人并认为MIP百度排名会靠前,甚至权重会提高?作为一个“老鸟”在这里,我肯定告诉你们 并没有,仅仅只是加速页面优化。还是让我们来看更多的官方介绍吧

MiP 全称 Mobile Instant Pages,移动网页加速器,是百度提出的页面加速解决方案。MIP 从前端渲染和页面网络传输两方面进行优化,杜绝页面渲染中的阻塞问题,提升页面展现速度。

页面渲染耗时与 MIP 加速原则

页面渲染耗时主要分为以下三类:DNS 解析耗时,网络传输耗时,浏览器渲染重绘耗时 
MIP 加速的基本原理就是减少各个步骤的耗时:

为减少 DNS 解析,MIP-Cache 将静态文件以相对路径储存在百度 CDN 中;
为减少网络传输耗时,MIP-JS 控制静态资源的按需加载,MIP-Cache 系统优先从 CDN 读取文件;
为减少浏览器渲染重绘耗时,MIP-HTML 对<img>,<video>等造成浏览器重绘的标签进行了封装控制。 下文将对 MIP 的三大组成部分 MIP-HTML, MIP-JS, MIP-Cache 进行详细介绍。

MIP-HTML 组件加速原理

MIP-HTML 规范中有两类标签,一类是 HTML 常规标签,另一类是 MIP 标签(MIP-HTML 组件)。在 MIP 规范中,类似<img>等会引起浏览器重绘的标签应被替换成<mip-img>, 利用懒加载和按需加载提高页面的渲染速度。

MIP-HTML 除了对浏览器原生标签的封装,还有一类自定义交互组件。比如图片轮播组件,表单组件,分享组件等。这些组件依赖 MIP-JS 和自身脚本即可运行,不需要引用第三方库。引用 MIP 自定义组件的而好处在于,页面开发时无需引入 jquery,bootstrap 等体积庞大的库,减少页面发送的网络请求及传输时间,加快网页的传输和渲染。

MIP-JS 加速原理

MIP-JS 是 MIP 的运行环境,接管了 MIP 页的生命周期,脚本加载及页面渲染。具体来说,MIP-JS 包括基础类引入(AMD),内置组件加载(mip-img),外置组件管理(组件 css 插入)以及组件布局管理(解决布局兼容性问题)。

MIP-JS 选择使用精简的基础类,尽量减少网络传输时间;内置优秀的组件,在不阻塞浏览器渲染的前提下提供最好的交互体验;提供组件布局管理,预先为组件设定宽高,避免组件加载后的浏览器重布局。

MIP-Cache 缓存加速原理

MIP-Cache 通过 CDN(Content Delivery Network) 服务器缓存静态 MIP 页面。当用户访问 MIP 页面时,请求首先会发到 CDN 服务器,如果页面存在,则从 CDN 直接返回静态页面;如果页面不存在,则会请求第三方服务器。返回的页面的同时加入 MIP-Cache。

在使用 MIP-Cache 时,MIP 页面引用的所有静态文件和外部资源都会被替换成相对地址,缓存到 CDN 上。尽可能减少了 DNS 解析时间和网络请求时间。

总的来说,MIP 除了 CDN 加速,还针对浏览器渲染和网络加载做了优化。改版网站的数据表明,页面加载速度提升了 30-80%。更快的打开速度意味着更少的用户等待和放弃,更好的用户体验。欲了解更多详情,欢迎到 MIP 官网,与我们一同建立秒开的移动页面。

以上内容出自MIP官方博客http://www.cnblogs.com/mipengine/p/what_is_mip.html

从文中我们大概了解了MIP加速机制,总体的来说,除了对页面进行了优化,还有就是MIP-Cache缓存

那么,既然有缓存 也就是说我们的页面会缓存到百度cdn中,那么假若我们的是动态网页,那怎么办?

很明显,这时候我们需要手动清理缓存,百度官方提供有api接口,更多请接口说明请看这里https://www.cnblogs.com/svip7/p/mipcacheqingli.html

可是有的人就不会用了,就跟改造MIP一样。不知如何下手……

再网上找了一个在线mip-cache清理工具,可视化操作界面了。完全动动手指头点点就可以了,太赞了

MIP缓存加速原理 MIP不仅仅只是CDN的更多相关文章

  1. Linux就业技术指导(四):企业CDN缓存加速原理解密

    1.1 CDN(网站加速) 1.1.1 什么是CDN CDN的全称Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和 ...

  2. CDN加速原理

    原文链接:http://www.72e.net/cdnspeed/cdnyuanli.aspx 首先,让我们来看一下传统的Internet网络的基本结构和数据传输情况,如下图所示. Internet  ...

  3. CDN和CDN加速原理

    随着互联网的发展,用户在使用网络时对网站的浏览速度和效果愈加重视,但由于网民数量激增,网络访问路径过长,从 而使用户的访问质量受到严重影响.特别是当用户与网站之间的链路被突发的大流量数据拥塞时,对于异 ...

  4. 什么是CDN及CDN加速原理

    目录 CDN是什么? CDN的相关技术 负载均衡技术 动态内容分发与复制技术 缓存技术 谁需要CDN? CDN的不足 随着互联网的发展,用户在使用网络时对网站的浏览速度和效果愈加重视,但由于网民数量激 ...

  5. 什么是网站CDN服务,CDN加速原理?

    转载:http://server.zzidc.com/fwqcjwt/728.html 摘要:在为您的网站打开速度发愁吗?您有没有发现有些大网站每天拥有几十万或者上百万,甚至几亿用户的访问,而且不同用 ...

  6. 一文搞懂CDN加速原理

    开源Linux 长按二维码加关注~ 一.什么是 CDN CDN的全称是(Content Delivery Network),即内容分发网络.其目的是通过在现有的Internet中增加一层新的CACHE ...

  7. Nginx使用Expires增加浏览器缓存加速(转)

    转载自:Nginx使用Expires增加浏览器缓存加速 Nginx可以更改HTTP头部,这个是Web服务器必须的,当然Nginx更可以支持在HTTP头部中添加Expires等相关信息,增强浏览器缓存, ...

  8. PHP缓存加速插件 XCache 、 ZendOpcache 安装

    PHP缓存原理 当客户端请求一个PHP程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码(OperateCode,简称opcode)文件,该文件是PHP代码的一种二进制表示方式.默 ...

  9. Linux实战教学笔记36:PHP服务缓存加速深度优化实践

    一,PHP缓存加速器介绍与环境准备 1.1 PHP缓存加速器介绍 1.1.1 操作码介绍及缓存原理 当客户端请求一个PHP程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码(Ope ...

随机推荐

  1. 使用 Python 设置数据的路径

    使用 Python 设置数据的路径 编程语言(如 Python)将反斜线 (\) 用作转义字符.例如,\n 表示换行符,\t 表示制表符.指定路径时,可使用正斜线 (/) 代替反斜线.使用两条反斜线( ...

  2. 06_Jedis完成MySQL的条件查询案例

    [概述] 假设现在有一个User表,其中有id,name,age,sex等字段,完成如下要求的SQL语句为: 1.查找所有age=18 的User ; 2.查找所有sex="M"( ...

  3. Html5 突破微信限制实现大文件分割上传

    先来前端代码 <!DOCTYPE html> <html> <head> <meta name="viewport" content=&q ...

  4. python 序列化,常用模块

    生成器与迭代器 生成器 在 Python 中,使用了 yield 的函数被称为生成器(generator). 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是 ...

  5. 如何清理Windows缩略图缓存?

    从Win95的IE4开始就有缩略图缓存了,缩略图缓存作用主要是用于存储Windows资源管理器缩略图图像文件.这加快了图像的显示速度,因为每次用户查看文件夹时都不需要重新生成这些较小的图像.缩略图缓存 ...

  6. 从并发和索引说说innodb和myisam的区别

    一.引言 这个问题看似是个很俗气的问题,但是在面试中也是个经常被问到的问题.我想很多人都能说出几条,比如事物,外键,等等.但是我想这样想起一点说一句这么回答的话,知识其实都是分散的,这样就显得不是很高 ...

  7. ubuntu 更换更新源

    贴上内容来源https://www.cnblogs.com/Alier/p/6358447.html 1  备份原来的更新源 cp /etc/apt/sources.list /etc/apt/sou ...

  8. python:协程

    1,如何实现在两个函数之间的切换? def func1(): print(l) yield print(3) yield def func2(): g =func1() next(g) print(2 ...

  9. PHP设计模式——装饰器模式

    <?php /** * 装饰器模式 * 如果已有对象的部分内容或功能发生变化,但是不需要修改原始对象的结构,应使用装饰器模式 * * 为了在不修改对象结构的前提下对现有对象的内容或功能稍加修改, ...

  10. 2018.11.15 Nginx服务器的使用

    Nginx简单教程 1.什么是Nginx? Nginx(engine x)是一款轻量级的Web服务器.反向代理服务器及电子邮件(IMAP/POP3)代理服务器 什么是反向代理服务器? 反向代理方式是指 ...