写点什么

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

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

关注

评论

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

刷题玩梗?LeetCode上的神回复治好了你的精神内耗

卷福同学

面试 LeetCode 神回复

松灵LIMO赋能科创教育,华动师大滴水湖冬令营培育AI新势力

松灵机器人

京东联合松灵等多家企业高校推出业内首个具身智能原子技能库架构

松灵机器人

易观AI战力飙升营,助你突破重围,毕业即就业 !

易观分析

云手机构建流量矩阵案例:快手多开运营

Ogcloud

矩阵运营 矩阵引流 短视频矩阵 快手矩阵

告别 996!飞算 JavaAI 如何用 AI 技术让开发者准时下班?

飞算JavaAI开发助手

面试被问“你的缺点是什么?”该怎么答?

王磊

AI+智能财务 | 智能资金预测,智能驱动决策升级!

用友智能财务

企业 财会 经营

区块链技术:构建区块链生态的核心要素

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

DeepSeek满血版在IDEA中快的飞起

阿里云云效

阿里云 云原生 AI程序员 AI程序员体验官

低代码平台国产化部署的架构演进与实践路径——信创生态下的高效开发体系构建

不在线第一只蜗牛

低代码

【连载 17】多线程执行类

FunTester

以质量为笔,绘数字生活“芯”画卷

E科讯

海信激光电视连续六年稳居全球第一

财见

“NGINX邮件组历史”论坛上线了!

通明湖

nginx 云原生 njet

从 DeepSeek 趋势看 AI 开发工具:飞算 JavaAI 如何解决开发者核心痛点?

飞算JavaAI开发助手

飞算 JavaAI 代码生成实战:如何用 AI 技术减少 70% 重复编码

飞算JavaAI开发助手

面试官:说说你项目中JWT的执行流程?

不在线第一只蜗牛

Java 面试 服务器

区块链技术前沿:DApp、DeFi与IDO开发的深度探索

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

交易所开发:构建安全、高效、可靠的数字资产交易平台

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

云原生赋能博云企业转型,openEuler加速自主创新

极客天地

DeepSeek满血版在IDEA中快的飞起

阿里巴巴云原生

阿里云 云原生 AI程序员 AI程序员体验官

BSI为金斯瑞集团颁发ISO/IEC 27001信息安全管理体系认证证书

财见

【新年版】JimuReport 积木报表 v1.9.4发布,免费报表、打印设计和视化设计

JEECG低代码

报表 可视化数据 BI 报表 大屏设计 报表工具

鸿蒙原生应用开发也可以使用DeepSeek了

HarmonyOS开发者

IDEA + 通义灵码AI程序员:快速构建DDD后端工程模板

阿里巴巴云原生

阿里云 云原生 通义灵码 AI程序员 AI程序员体验官

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