写点什么

Google 提出 Web 性能优化新方法——Diffable

  • 2010-08-12
  • 本文字数:692 字

    阅读完需:约 2 分钟

Google Maps 的开发人员 Josh 和 James 最近提出并实现了一种 Web 性能优化新方法—— Diffable ,即在浏览器加载 Web 页面时,促使其比较相关文件(Html、JavaScript 等)在服务器端和客户端缓存区的版本并只下载差量(Deltas),降低网络下载造成的延迟。本文简要介绍了 Diffable 方法的背景、原理、优势和实现情况。

背景

众所周知,Google Maps 是一款“重量级”的富互联网应用,主要 JavaScript 文件大小接近 300K,而一个平常的补丁更新只有不到 20K,这意味着如果用户的浏览器已经缓存了旧版本的 JavaScript 文件,那么在通常情况下,用户不得不下载多余的 280K(内容没有变化),页面加载速度就会受此影响。为了解决类似问题,Google Maps 的工程师提出了 Diffable 方法。

原理

Diffable 方法需要在服务器端和客户端同时实施,如图 1 所示。

  • 服务器组件记录网页相关文件版本更新的差量,以便在客户端需要时向其发送补丁以更新过时的缓存文件。
  • 客户端组件(采用 JavaScript 编写)检测是否缓存了过时文件并在必要时请求新版本的差量补丁,与缓存的文件合并完成更新。

性能优势

对于 Google Maps 来说,Diffable 方法节省了 1200 毫秒(减少页面加载时间的 25%),请注意这种方法只对已经缓存旧版页面文件的 Google Maps 用户有效,此类用户约占全部用户的 20%-25%,参见图 2 所示:

实现

Diffable 方法是一种 Web 性能优化思想,目前 Google 的开发人员已经针对 J2EE 应用完成了相应的开源实现,采用 Apache License 2.0 授权,具体细节可以参考以下文档:

感兴趣的朋友可以登陆 Diffable 开源项目官方网站了解更多详情。

2010-08-12 08:527770
用户头像

发布了 501 篇内容, 共 255.1 次阅读, 收获喜欢 59 次。

关注

评论

发布
暂无评论
发现更多内容

『新华报』重庆试试彩官方平台[手机乐乎]

天马行空

重庆试试彩官方平台

Prometheus Exporter (十六)Microsoft SQL Server Exporter

耳东@Erdong

microsoft Prometheus 28天写作 exporter 12月日更

一图看懂软件缺陷检查涉及的内容

Tom(⊙o⊙)

软件安全 静态代码检查

圣迪

举重若轻流水行云,前端纯CSS3实现质感非凡的图片Logo鼠标悬停(hover)光泽一闪而过的光影特效

刘悦的技术博客

CSS html css3 LOGO HTML5, CSS3

架构实战营 - 毕业设计

en

#架构实战营

『新华报』秒速飞艇开奖结果官网[手机乐乎]

天马行空

秒速飞艇开奖结果官网

架构训练营模块一作业

沈益飞

「架构实战营」

linux重要的目录之proc和dev目录

入门小站

Linux

2.《重学JAVA》--初探JAVA

杨鹏Geek

「Java 25周年」 28天写作 12月日更

不懂这五项权力,做什么项目经理

Ian哥

项目管理 28天写作 五项权力

用错误的动作,让正确的事情发生(3/28)

赵新龙

28天写作

『新华报』秒速飞艇开奖[手机乐乎]

天马行空

秒速飞艇开奖

『新华报』飞艇分析工具[手机乐乎]

天马行空

飞艇分析工具

Golang Gin 框架之中间件(六)

liuzhen007

28天写作 12月日更

新知识的地图绘制

Nydia

『新华报』北京飞艇赛车微信群[手机乐乎]

天马行空

北京飞艇赛车微信群

Java应用线上事故排查实战

JavaEdge

内容合集 签约计划第二季

趣谈“链路追踪组件” Skywalking 和 PinPoint

悟空聊架构

链路追踪 Skywalking 28天写作 悟空聊架构 12月日更

现实扭曲力场引论

Justin

群体心理学 28天写作 玄学

『新华报』回血上岸导师[手机乐乎]

天马行空

回血上岸导师

请清晰沟通选题-从策略层面定义技术演讲

将军-技术演讲力教练

『新华报』一分飞艇怎么操作的[手机乐乎]

天马行空

一分飞艇怎么操作的

《深入理解JVM虚拟机》第三章 垃圾收集器与内存分配策略

Joseph295

Prometheus Exporter (十五)PostgreSQL Server Exporter

耳东@Erdong

Prometheus postgres 28天写作 exporter 12月日更

架构实战营 - 毕业总结

en

#架构实战营

『新华报』飞艇开奖结果官网[手机乐乎]

天马行空

飞艇开奖结果官网

『新华报』赛车飞艇群[手机乐乎]

天马行空

赛车飞艇群

mongodb出现重复id怎么办?

喵叔

28天写作 12月日更

在线蚂蚁文,菊花文生成工具

入门小站

工具

复制流动改变世界

mtfelix

28天写作

Google提出Web性能优化新方法——Diffable_Java_崔康_InfoQ精选文章