在去年十月的一篇 博客文章 提到 MIP 加速器是由 MIP-HTML, MIP-JS 和 MIP-Cache 三个模块共同产生加速效果的。MIP-HTMLMIP-JS 都是开源的,在 GitHub 上可以访问。但 MIP-Cache 是百度提供的,所有从百度搜索结果页打开的页面都是 MIP-Cache 的页面。那么,为什么 MIP-Cache 存在呢?

1. CDN 加速

CDN (Content Delivery Network) 加速原理,简单来说就是在不同地点建立内容缓存节点。通过负载均衡技术,将用户的请求定向到最合适的缓存服务器上去获取内容。

MIP-Cache 可以理解为一套 CDN 缓存系统。当用户从百度搜索结果页访问 MIP 页面时,请求首先会发到 MIP-Cache CDN 服务器,如果页面存在,则从 CDN 直接返回静态页面;如果页面不存在或过期,则会请求第三方服务器 (或站长自己使用的 CDN)。本次返回的符合 MIP 规范的页面会同时加入 MIP-Cache,为下次页面请求做准备。

2. 缓存静态文件,同源策略加速

百度 MIP-Cache 给所有符合 MIP 规范,能通过 MIP 校验 的 MIP 页面提供静态文件的缓存服务,静态文件包括图片,外链 CSS 文件 (不推荐) 等。在缓存静态文件的同时,HTML 页面本身也会被改写,引用图片的地址会被修改为 MIP-Cache 中的图片地址。

缓存静态文件带来最大的好处是避免从不同域名下读取静态文件,使用同源策略减少 DNS 解析时间,能够加速加载速度。

3. 百度搜索的预取加速

页面预取是指在搜索结果页展示后,用户点击某条结果之前,搜索引擎就开始预测用户可能点击的结果,提前加载落地页的内容。在用户真正点击这条结果时,结果的内容已经从远端进入了浏览器缓存,省去了网络加载时间。

搜索预取会请求 MIP-Cache 内容,所有进入 MIP-Cache 的页面都被认为是合法的 MIP 页(原理见下文)。目前 MIP 项目组正在讨论预取的技术方案,请关注博客进展。

附: MIP-Cache 的更新和校验策略

考虑到站长有更新页面的需求,MIP-Cache 会定期重新抓取 MIP 页并进行校验。

在 MIP-Cache 中:

  • 页面的缓存时间为 52 分钟-5 天(由该页面用户点击量和站点本身稳定性决定)。
  • 图片缓存时间为 10 天。
  • MIP-JS 组件文件的缓存时间为 10 分钟。

在当前文件过期后,MIP-Cache 会重新抓取资源。如果是 HTML 页面,MIP-Cache 还会对页面文件进行 MIP 规范校验。如果此时页面内容不再符合 MIP 规范,MIP-Cache 就不再缓存这个页面了。这样,所有 MIP-Cache 中的页面都是最新的,并且符合 MIP 规范。

如果要快速清理 MIP-Cache 内容,请参考站长平台 MIP-Cache 说明。注意,对于同一个站点,每 100 秒最多清理 10 条。

MIP-Cache 使用方法及 URL 生成规则,请查阅 MIP 官方文档 《MIP-Cache 规范》

为什么MIP-Cache存在的更多相关文章

  1. MIP改造常见问题二十问

    在MIP推出后,我们收到了很多站长的疑问和顾虑.我们将所有疑问和顾虑归纳为以下二十个问题,希望对大家理解 MIP 有帮助. 1.MIP 化后对其他搜索引擎抓取收录以及 SEO 的影响如何? 答:在原页 ...

  2. 百度MIP移动页面加速——不只是CDN

    MIP是用CDN做加速的么?准确答案是:是,但不只是. MIP全称Mobile Instant Pages,移动网页加速器,是百度提出的页面加速解决方案.MIP从前端渲染和页面网络传输两方面进行优化, ...

  3. 如何用百度MIP快速搭建体验友好的移动页面

    在读这篇文章之前,请确定你已经了解MIP定义及加速原理.如果不确定的话,可以到MIP官网了解. 改造前期准备和注意事项: 你可以选择直接将原先的移动站点直接改成MIP站,也可以单独再做一套MIP站点与 ...

  4. 百度推出 MIP Shell 链接

    在站长将站点 MIP 化时,需要关注 URL 的一共有三个:MIP URL, MIP-Cache URL 以及 MIP-Shell URL. 从 URL 说起 在互联网中,URL 定义页面的地址,每个 ...

  5. MIP 问题解决方案大全(2018-06更新)

    在 MIP 推出后,我们收到了一些站长的疑问.现将常见问题整理出来,帮助大家了解 MIP 的知识. 一.MIP 认知类问题 二.改造前准备 三.前端改造,组件使用 四.提交生效 五.MIPCache ...

  6. WebP 在减少图片体积和流量上的效果如何?MIP技术实践分享

    作者 | Jackson 编辑 | 尾尾 不论是 PC 还是移动端,图片一直占据着页面流量的大头,在图片的大小和质量之间如何权衡,成为了长期困扰开发者们的问题.而 WebP 技术的出现,为解决该问题提 ...

  7. 百度推出 MIP Baidu Path链接

    在站长将站点 MIP 化时,需要关注 URL 的一共有三个:MIP URL, MIP-Cache URL 以及 MIP Baidu Path. 从 URL 说起 在互联网中,URL 定义页面的地址,每 ...

  8. MIP是什么

    MIP (Mobile Instant Pages - 移动网页加速器), 是一套应用于移动网页的开放性技术标准.通过提供MIP-HTML规范.MIP-JS运行环境以及MIP-Cache页面缓存系统, ...

  9. 谷歌AMP和百度MIP是什么鬼?

    首先我们来看定义: 谷歌AMP(Accelerated Mobile Pages,加速移动页面)是Google推出的一种为静态内容构建 web 页面,提供可靠和快速的渲染,加快页面加载的时间,特别是在 ...

  10. 了解MIP(Mobile Instant Pages)

    mip官网:https://www.mipengine.org/   什么是mip? mip是百度在2016年提出的移动网页加速器项目.可以简单理解为是一个规范.   mip能做什么? mip能帮助站 ...

随机推荐

  1. java 修饰符的访问权限

    private,public,protected,默认不写(firendly) 1.Class类的访问权限: public:可以供所有的类访问. 默认:默认可以称为friendly但是,java语言中 ...

  2. Java中创建线程的三种方式及其优缺点

    1.自定义一个继承Thread的类,由于Java的单继承特性,限制了该类的扩展性. 2.实现Runnable接口,重写run()方法. 3.实现Callable接口,重写call方法.线程执行体可以有 ...

  3. SSM-SpringMVC-32:SpringMVC中灌顶传授文件上传

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 我将用自认为最简单的语言,描述Springmvc的文件上传,来将老夫毕生功力灌顶传授给你 首先文件上传,又简至 ...

  4. 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法

    比如Json.NET的JObject明明实现了IEnumerable<T>,具体来说是IEnumerable<KeyValuePair<string, JToken>&g ...

  5. Step by step guide to set up master and slave machines on Windows

    Note: There is no need to install Jenkins on the slave machine. On your master machine go to Manage ...

  6. 【新手向】自用的tooltip小插件,前端插件知识科普~

    上面的tooltip就是成品图,为了和自己站点的风格保持一致所以自己写的. 第一部分:你绝对碰到过的匿名函数闭包问题 第二部分:写个tooltip demo 第三部分:源码地址 第一部分 你绝对碰到过 ...

  7. monitor.go

    package main import (     "fmt"     "net/http" ) // 查询监控信息的接口 func statsHandler( ...

  8. BZOJ_3831_[Poi2014]Little Bird_单调队列优化DP

    BZOJ_3831_[Poi2014]Little Bird_单调队列优化DP Description 有一排n棵树,第i棵树的高度是Di. MHY要从第一棵树到第n棵树去找他的妹子玩. 如果MHY在 ...

  9. BZOJ_2141_排队_树状数组+分块

    BZOJ2141_排队_树状数组+分块 Description 排排坐,吃果果,生果甜嗦嗦,大家笑呵呵.你一个,我一个,大的分给你,小的留给我,吃完果果唱支歌,大家 乐和和.红星幼儿园的小朋友们排起了 ...

  10. Scrapy爬虫框架(实战篇)【Scrapy框架对接Splash抓取javaScript动态渲染页面】

    (1).前言 动态页面:HTML文档中的部分是由客户端运行JS脚本生成的,即服务器生成部分HTML文档内容,其余的再由客户端生成 静态页面:整个HTML文档是在服务器端生成的,即服务器生成好了,再发送 ...