MIP缓存加速原理 MIP不仅仅只是CDN
什么是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的更多相关文章
- Linux就业技术指导(四):企业CDN缓存加速原理解密
1.1 CDN(网站加速) 1.1.1 什么是CDN CDN的全称Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和 ...
- CDN加速原理
原文链接:http://www.72e.net/cdnspeed/cdnyuanli.aspx 首先,让我们来看一下传统的Internet网络的基本结构和数据传输情况,如下图所示. Internet ...
- CDN和CDN加速原理
随着互联网的发展,用户在使用网络时对网站的浏览速度和效果愈加重视,但由于网民数量激增,网络访问路径过长,从 而使用户的访问质量受到严重影响.特别是当用户与网站之间的链路被突发的大流量数据拥塞时,对于异 ...
- 什么是CDN及CDN加速原理
目录 CDN是什么? CDN的相关技术 负载均衡技术 动态内容分发与复制技术 缓存技术 谁需要CDN? CDN的不足 随着互联网的发展,用户在使用网络时对网站的浏览速度和效果愈加重视,但由于网民数量激 ...
- 什么是网站CDN服务,CDN加速原理?
转载:http://server.zzidc.com/fwqcjwt/728.html 摘要:在为您的网站打开速度发愁吗?您有没有发现有些大网站每天拥有几十万或者上百万,甚至几亿用户的访问,而且不同用 ...
- 一文搞懂CDN加速原理
开源Linux 长按二维码加关注~ 一.什么是 CDN CDN的全称是(Content Delivery Network),即内容分发网络.其目的是通过在现有的Internet中增加一层新的CACHE ...
- Nginx使用Expires增加浏览器缓存加速(转)
转载自:Nginx使用Expires增加浏览器缓存加速 Nginx可以更改HTTP头部,这个是Web服务器必须的,当然Nginx更可以支持在HTTP头部中添加Expires等相关信息,增强浏览器缓存, ...
- PHP缓存加速插件 XCache 、 ZendOpcache 安装
PHP缓存原理 当客户端请求一个PHP程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码(OperateCode,简称opcode)文件,该文件是PHP代码的一种二进制表示方式.默 ...
- Linux实战教学笔记36:PHP服务缓存加速深度优化实践
一,PHP缓存加速器介绍与环境准备 1.1 PHP缓存加速器介绍 1.1.1 操作码介绍及缓存原理 当客户端请求一个PHP程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码(Ope ...
随机推荐
- CSS3布局样式
CSS3多列布局columns 为了能在Web页面中方便实现类似报纸.杂志那种多列排版的布局,W3C特意给CSS3增加了一个多列布局模块(CSS Multi Column Layout Module) ...
- linux C之判断文件或目录是否存在 access函数
http://blog.sina.com.cn/s/blog_6a1837e90100uh5d.html access():判断是否具有存取文件的权限 相关函数 stat,open,chmod, ...
- tensorflow ImportError: libmklml_intel.so: cannot open shared object file: No such file or directory
通过whl文件安装 tensorflow,显示缺少libmklml_intel.so 需要 1)安装intel MKL库 https://software.intel.com/en-us/articl ...
- Jmeter入门1 官网下载及安装
1 Jmeter运行需要java环境.首先需要安装JDK. 图标是这样的: 2 下载apache-jmeter包. jmeter官网:http://jmeter.apache.org/ 3 解压 ...
- 20150103 海南铁汉vs哈尔滨毅腾
本文首发于『懂球帝』 这一场球赛虽然极其普通,在各位懂球帝面前或许不值得一提,但它极具历史意义,因为这是海南第一个职业联赛队伍的首场正式比赛,同时也是海南铁汉队第一次在正式比赛中与球迷们见面. 稍做一 ...
- POJ3737 UmBasketella
嘟嘟嘟 一道三分入门题. 参考二分,三分就是每一次把区间分成三段,然后舍弃一段,不断缩小范围直到一个点. 一般用于求单峰函数的最值问题. 这道题发现V和r成一次函数的关系,因此三分r. 下面给出三分板 ...
- 利用babel自动编译es6文件
一.检查File-Watchers中Babel的Arguments,有一项presets的设置,把他更改为=es2015,详细设置如下: $FilePathRelativeToProjectRoot$ ...
- Webpack2入门
webpack 2 将在其文档完成之后正式发布.但这并不意味着不可以开始使用它,如果你知道怎么配置的话. 什么是 Webpack? 简单来说,Webpack 就是一个针对 JavaScript 代码的 ...
- python 解决粘包问题
客户端发送hello,如果服务端 recv(1) ,那只能接收到 h 这一个字符,然后再recv(1) 一下,可以再接收一个 e , 因为客户端发送的结果长,所以只能把其他的先缓存下来,下次recv的 ...
- VS2012 Getting Started with Owin and Katana
参考地址:http://www.asp.net/aspnet/overview/owin-and-katana/getting-started-with-owin-and-katana 小提示: 该示 ...