页面加速Chromium 预压 Prerendering
前者已经推出了一个博客prefetch预加载的网页资源,以提高网页加载速度,下面我们一起来看一下,以加速网页chromium prerendering.介绍prerendering之前。先介绍两个概念:
背景:
打开这个链接我们能够看到视频里的Google搜索结果页对照。 使用prefetching 的效果能马上显示出网页. 这样的结果相信大家都会感到吃惊. so amazing。!
可能技术人员更加关心Google chrome怎样做到的,以下我们一起来探秘prerendering实现。
什么是prerendering ?
用户的下一页能马上显示就是通过prerendering技术实现的。prerendering
扩展prefetching概念, 不只预先获取顶层的资源, prerendering 会预先在后台准备下一个页面所须要的全部资源。Prerending的行为有点像我们open behind(后台打开页面) ,当我们把后台页面切换到前台时能马上显示网页。"background tab" 用户是全然不可见的。 当用户要切换到这个background 页面时, 后面的background tab 会被swap到前段。 这样用户能马上看到网页信息。
触发prerendering语法
<span style="font-size:14px;"><link rel="prerender" href="http://www.cmcm.com"> prerendercmcm </link></span>
prerendering 触发方式非常像firefox的prefetching 也是一个HTML中得<link> tag。可是chrome的 prerendering 不支持 meta-http和 hettp header触发。
浏览器怎样prerendering & prerendering时机
使用prerendering 限制与开关
hl=zh-CN">Page Visibility API
提供方便的途径来探測你的站点是否正在prerender。关闭这个功能能够从地址栏上输入--prerender-from-omnibox=disabled
.
探測一个网页是否正在被prerender
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdHlwZW5hbWU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
Prerender性能測试
site/page load time | enable prerendering | none prerendering | improve(%) |
www.cmcm.com | instant page | 9470 | 100 |
www.taobao.com | instant page | 1112 | 100 |
Prerender 在chromium中的实现
后台页面会被创建用来prerendered url,这个后台页面会载入全部资源,包括可运行的javascript。当用户訪问prerendered页面时。 后台页面会被swap到前台。以下我们看一下chromium prerender过程。
当chromium主进程收到PrerenderHostMsg_AddLinkRelPrerender时,会检測当前是否有过多的渲染进程,假设已经有同样的任务在进行则不做处理。反之就会对接收到的url进行prerender。在android上因为有限的资源限制会重用prerendering使用的process,
为了回收资源chromium会在此启动一个计时器来销毁未被使用的prerender 后台页面。在chromium35版本号中定时器时间是1000毫秒(ms) 在早期的chromium实现其中是30ms,当然这个数值未来还会发生变化。
页面加速Chromium 预压 Prerendering的更多相关文章
- 百度MIP移动页面加速——不只是CDN
MIP是用CDN做加速的么?准确答案是:是,但不只是. MIP全称Mobile Instant Pages,移动网页加速器,是百度提出的页面加速解决方案.MIP从前端渲染和页面网络传输两方面进行优化, ...
- MIP如何为页面加速?
MIP是近日由百度发起的开源项目,它的核心是一套应用于移动网页的开放性技术标准,通过提供MIP-HTML规范.MIP-JS运行环境以及MIP-Cache页面缓存系统,实现移动网页加速. 换言之就是,M ...
- 【页面加速】配置Nginx加载ngx_pagespeed模块,加快网站打开的速度
ngx_pagespeed 是一个 Nginx 的扩展模块,可以加速你的网站,减少页面加载时间,它会自动将一些提升web性能的实践应用到网页和相关的资源(CSS.JS和图片)上,无需你修改内容和流程. ...
- 在 Laravel 应用中使用 pjax 进行页面加速
说明# PHPHub 使用 pjax 来加速网页的加载, 这篇文章是在开发完此功能后做的笔记. 什么是 Pjax# .--. / \ ## a a ( '._) |'-- | _.\___/_ ___ ...
- 理解WebKit和Chromium(电子书)
前言 基础篇 WebKit, WebKit2, Chromium和Chrome介绍 WebKit和Blink WebKit和Chromium代码目录结构介绍 WebKit和Chromium功能模块 ...
- 【转】W3C中国与百度联合组织移动网页加速技术研讨会
2017 年 8 月 30 日,W3C 会员百度在北京中关村软件园国际会议中心主办了 "移动网页加速技术研讨会",W3C 中国以及腾讯.阿里巴巴及 UC.搜狗.小米.傲游.中国移动 ...
- 国内CDN加速现状
什么是CDN CDN的全称是Content Delivery Network,即内容分发网络.是位于网络层与应用层之间的网络应用,其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内 ...
- MIP缓存加速原理 MIP不仅仅只是CDN
什么是MIP?我想我们现在都知道.可是你真的了解MIP吗?MIP加速原理是什么?MIP 是用 CDN 做加速的么?准确答案是:是,但不只是. 很多人并认为MIP百度排名会靠前,甚至权重会提高?作为一个 ...
- 关于CDN对动态网站加速的一些看法
CDN的全称是Content Delivery Network,即内容分发网络.其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘" ...
随机推荐
- 说说UI设计
近期的项目验收中,无数次的提到了UI的设计,首先来说说为什么UI设计如此重要. 对于用户来说产品的外观是最先映入眼帘的,无论你用了什么高端的技术,无论你后台代码封装的多么好,用户是无法体会到的,能体会 ...
- centos6.4设备hadoop-2.5.1(完全分布式)
环境介绍: 在这两种装备centos6.4(32位置)的server安装Hadoop-2.5.1分布式集群(2台机器,主要试验用.哈哈). 1.改动主机名和/etc/hosts文件 1)改动主机名(非 ...
- Json的反序列化 .net Newtonsoft.Json
项目中有个.json文件. { "instances": [ { "name": "baidu", "url": &qu ...
- 02、Unicode 汉子转码小工具
原文:02.Unicode 汉子转码小工具 在做 Windows app 的时候,与服务器端交互使用的是 json 格式的数据,里面的汉字内容被 编码成 unicode 格式,在调试的时候不太方便,就 ...
- Error Code: 1318. Incorrect number of arguments for PROCEDURE company.new_procedure; expected 2, got
1.错误叙述性说明 20:27:34 call new_procedure(20150112) Error Code: 1318. Incorrect number of arguments for ...
- 动软.NET 分页存储过程UP_GetRecordByPage
1, ------------------------------------ --用途:支持任意排序的分页存储过程 --说明: ----------------------------------- ...
- ACM:图BFS,迷宫
称号: 网络格迷宫n行m单位列格组成,每个单元格无论空间(使用1表示),无论是障碍(使用0为了表示).你的任务是找到一个动作序列最短的从开始到结束,其中UDLR同比分别增长.下一个.左.向右移动到下一 ...
- Java设计模式菜鸟系列(两)建模与观察者模式的实现
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39755577 观察者(Observer)模式定义:在对象之间定义了一对多的依赖关系,这样一 ...
- [原创].NET 业务框架开发实战之八 业务层Mapping的选择策略
原文:[原创].NET 业务框架开发实战之八 业务层Mapping的选择策略 .NET 业务框架开发实战之八 业务层Mapping的选择策略 前言:在上一篇文章中提到了mapping,感觉很像在重新实 ...
- UVa11488-Hyper Prefix Sets(trie树)
H Hyper Prefix Sets Prefix goodness of a set string is length of longest common prefix*number of str ...