“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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:527669
用户头像

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

关注

评论

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

linux之chattr命令

入门小站

数字人民币试点扩大,市场化问题如何解决?

CECBC

解读谷歌 Pathways 架构(二):向前一步是 OneFlow

OneFlow

人工智能 机器学习 深度学习 深度学习框架 谷歌

2022春季校园招聘·复旦站,即将开启~

非凸科技

读《Software Engineering at Google》(01)

术子米德

架构师成长笔记

远程代码执行漏洞复现分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

云原生虚拟化的最佳拍档:Kube-OVN + KubeVirt 【附有奖调研】

York

Kubernetes 云原生 网络性能 云原生网络 网络虚拟化

为什么要进行数字化转型

王字 Wannz

数字化生态 数字化转型 finclip 小程序容器

在线SVG在线编辑器

入门小站

工具

为什么领导不喜欢提拔老实人?

方云AI研发绩效

团队管理 研发管理 数字化转型 职场 PUA 职场发展

恒源云(Gpushare)_FAIR CVPR2022新作DVT是个啥?

恒源云

深度学习 CV transform

InfoQ专访龙蜥社区陈绪:从CentOS 停服说起,龙蜥操作系统的开源观

OpenAnolis小助手

centos 开源 操作系统 开放原子开源基金会 龙蜥社区

区块链一周热点回顾|虎符元宇宙建筑Hoo HQ已对外开放体验

区块链前沿News

虎符交易所

生于彼,长于此:狗形机器人的中国情缘

脑极体

FAQ是什么?如何高效地创建一个好的FAQ页面?

小炮

FAQ

2022年中国低延时技术市场洞察

易观分析

低延时

机票报价高并发实施的关键路径

Qunar技术沙龙

高并发 后端技术

小波从此逝,江海寄余生,不但是文坛巨擘还是不世出的编程奇才,王小波离世25周年

刘悦的技术博客

编码习惯 编码 代码 编程、 编码规范

艾瑞咨询:2022年隐私计算卓越者——洞见科技

洞见科技

隐私计算 数据智能解决方案

健康码如何影响世界

王字 Wannz

小程序 微信 finclip 凡泰极客 健康码

云效多云视角团队协作方式,让团队协作更高效

阿里云云效

阿里云 项目管理 运维 研发管理 团队协作

为什么要选择Web3?它有什么好处?

CECBC

等了15年,这本豆瓣评分高达9.3的编程巨著终于出版了!

图灵教育

【分享汇总】25个主题分享,360°领略OpenHarmony最新技术版图

OpenHarmony开发者

OpenHarmony

Apache ShenYu源码阅读系列-Divide插件

子夜2104

华为与OpenInfra基金会十年共筑开源基础设施平台

科技热闻

Reactor实现http服务器,附完整代码

Linux服务器开发

后台开发 reactor HTTP Linux服务器开发 服务端开发

免费训练营限时抢报|大咖带你玩转PolarDB for PostgreSQL开源训练营

阿里云数据库开源

数据库 postgresql 开源 阿里云; polarDB

有小程序还没有App?试试用小程序转App功能

Speedoooo

APP开发 移动端开发 小程序转app

TDesign 更新周报(2022年4月第2周)

TDesign

Retool 是什么,怎么样? —— Retool 低代码工具测评

蒋川

低代码 低代码开发平台 retool

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