为什么MIP-Cache存在

在去年十月的一篇 博客文章 提到 MIP 加速器是由 MIP-HTML, MIP-JS 和 MIP-Cache 三个模块共同产生加速效果的。MIP-HTML 和 MIP-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 规范》。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535911.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA知识基础(十):多态

1.概述 1.1多态的定义 多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不同的实例而执行不同操作。 多态性是对象多种表现形式的体现。 1.2多态的优点 消除类型之间的耦合关系可替换性可扩充性接口性灵活性简化性 1.3多态存在的三个…

MIP技术交流分享(3月9日)

3月9日上周四下午,MIP 团队工程师与去哪儿酒店云、众荟的 Web 前端工程师进行了一次面对面的技术交流。 在这次交流中,MIP 工程师主要分享了 MIP 技术原理,MIP 加速原理,以及 MIP 为开发者提供的工具集。去哪儿的工程师也提出了通…

JAVA知识基础(十一):异常

1.异常的概念 简单说就是不正常运行,最终导致JVM的非正常停止。 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。 异常指的并不是语法错误,语法错了,编译不…

SpringBoot基础篇(一):Spring Boot入门

我们今天开始对SpringBoot的学习,本篇主要是Spring Boot的入门部分。 1、SpringBoot简介 引用SpringBoot在百度百科中的含义: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使…

SpringBoot基础篇(二):HelloWorld细节探究

1、场景启动器 1.1依赖 <!--Hello World项目的父工程是org.springframework.boot--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.1.RELEASE</versio…

MIP 与 AMP 合作进展(3月7日)

“到目前为止&#xff0c;全网通过 MIP 校验的网页已超10亿。除了代码和缓存&#xff0c; MIP 还想做更多来改善用户体验移动页面。” 3月7日&#xff0c;MIP 项目负责人在首次 AMP CONF 上发言。 那么 MIP 和 AMP 的关系是什么呢&#xff1f; AMP 是一个开源性项目&#xff…

SpringBoot番外篇(一):使用Spring Initializer快速创建Spring Boot项目(IDEA版)

IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目&#xff1b; 选择我们需要的模块&#xff1b;向导会联网创建Spring Boot项目&#xff1b; ps:需要联网 1、创建新项目时选择Spring Initializ&#xff0c;选择好java版本&#xff0c;点击next。r 2、填写项…

开发教程(四) MIP组件平台使用说明

组件审核平台用于上传 MIP 组件。经过自动校验之后&#xff0c;提交审核&#xff0c;通过审核的组件会定时推送到线上&#xff0c;供网站使用。 平台地址&#xff1a;https://www.mipengine.org/platform/ 1. 使用说明 MIP 组件审核平台用于提交开发完成的组件&#xff0c;如…

MIP 技术交流分享(3月15日)

3月15日下午&#xff0c;MIP 团队工程师与58赶集的 Web 前端工程师进行了一次面对面的技术交流。 在这次交流中&#xff0c;MIP 工程师主要分享了 MIP 技术原理&#xff0c;MIP 加速原理&#xff0c;以及 MIP 为开发者提供的工具集。 58赶集的工程师提出了以下问题&#xff1a…

Redis(零):背景

什么是NoSQL&#xff0c;什么是Redis&#xff0c;我们在了解这个系列之前&#xff0c;先来看一下Redis是从何而来&#xff1f;Why redis is needed? 1、单机MySQL年代 在最早的单机MySQL年代&#xff0c;存在着访问量小&#xff0c;单个数据库等特点。 但是特有着众多的缺…

Redis(一):什么是NoSQL与NoSQL分类

1、什么是NoSQL NoSQL Not only SQL (不仅是SQL)&#xff0c;即泛指非关系型数据库。随着Web2.0时代诞生&#xff01;NoSQL在当今大数据的环境下发展十分迅速&#xff01; NoSQL 是一项全新的数据库革命性运动&#xff0c;早期就有人提出&#xff0c;发展至2009年趋势越发高涨…

MIP 内容声明

从搜索结果页点出的 MIP 页面&#xff0c;其页面上的任何内容&#xff08;包括但不限于广告、在线咨询、统计等组件&#xff09;均视为在原站点上的投放和使用。 MIP &#xff08;Mobile Instant Pages - 移动网页加速器&#xff09;, 是一套应用于移动网页的开放性技术标准。…

Redis(二):Redis入门与性能测试

1、Redis概述 Redis是什么&#xff1a; Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 免费开源&#xf…

互联网的发展背离了其初衷吗?

作者 | 高磊 编辑 | 尾尾 一、互联网初衷究竟是什么&#xff1f; 互联网的初衷究竟是什么&#xff1f; 对于这个问题&#xff0c;被誉为“互联网之父”的蒂姆伯纳斯李&#xff08;Tim Berners-Lee&#xff09;应该最有发言权。 伯纳斯李认为&#xff0c;互联网最具价值的地…

Redis(三):Redis基础知识与常用命令

1、基础命令 Redis默认有16个数据库&#xff0c;用的是第0个数据库&#xff0c;可以使用select进行切换数据库&#xff0c;使用DBSIZE查看DB大小&#xff08;只针对当前数据库&#xff09;。 使用keys * 查看当前数据库下所有的key&#xff0c;使用flushdb清除当前数据库&am…

移动Web加速技术月报第1期

作者 | Brilliant Open Web团队breezet、JennyL 编辑 | 尾尾 为推进Web技术的发展&#xff0c;Brilliant Open Web 团队特推出每月一期的《移动Web加速技术月报》&#xff0c;该月报将整理较流行的移动Web加速技术&#xff0c;并跟进各项技术的进展和发展方向&#xff0c;以期…

Redis(四):String字符串数据类型详解

Redis 字符串数据类型的相关命令用于管理 redis 字符串值&#xff0c;基本语法如下&#xff1a; redis 127.0.0.1:6379> COMMAND KEY_NAME1、String类型的常用命令 1.1、set、get SET key v//设置key值为v get key //获取key值1.2、Append APPEND key "hi" //…

五个案例简述Web设计原则:通用一致

作者 | 百度搜索用户体验中心 《Web设计指南》分为设计原则、基础规范两方面主要内容&#xff0c;同时会提供相应的实际案例及资源下载。欢迎关注OpenWeb开发者&#xff0c;订阅《Web设计指南》。 前言 《Web设计指南》是专门为广大Web内容生态提供一套简单实用的设计指南&a…

Redis(五):List集合数据类型详解

Redis列表是简单的字符串列表&#xff0c;按照插入顺序排序。你可以添加一个元素到列表的头部&#xff08;左边&#xff09;或者尾部&#xff08;右边&#xff09; 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。 实例&#xff1a; redis 127…

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

作者 | Jackson 编辑 | 尾尾 不论是 PC 还是移动端&#xff0c;图片一直占据着页面流量的大头&#xff0c;在图片的大小和质量之间如何权衡&#xff0c;成为了长期困扰开发者们的问题。而 WebP技术的出现&#xff0c;为解决该问题提供了好的方案。本文将为大家详细介绍 WebP 技…