HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

“鲸鸿动能·品牌共创计划”发布,多项权益助力品牌激发无限潜能

最新动态

回归营销初心,2023金投赏鲸鸿动能专场聚焦品牌重塑

最新动态

算启新程 智享未来,英特尔携中国移动为行业数字化转型提供新动能

E科讯

体育赛事直播平台源码解决方案,开发搭建系统架构的重要组成部分

软件开发-梦幻运营部

持续测试新范式:拨压测一体化

阿里巴巴云原生

阿里云 云原生 压测 拨测

云桌面如何部署?云桌面系统方案部署详细教程

青椒云云电脑

云桌面 云桌面系统

低代码平台技术分享官丨工作流应用场景之任务交接

inBuilder低代码平台

工作流 低代码

语音识别技术:现状、挑战与未来发展

来自四九城儿

深入浅出了解华为云API网关的Gzip功能

华为云PaaS服务小智

云计算 软件开发 API 华为云

披荆斩棘的芒果 TV:基于 StarRocks 的云原生湖仓架构升级

StarRocks

Python 实训教学,更便捷的学生邀请及内容分发|ModelWhale 版本更新

ModelWhale

人工智能 数据分析 在线编程 高等教育 云课堂

ETL数据转换方式有哪些?

RestCloud

数据同步 ETL

SQL和Python,哪个更容易自学?哪个更适合数据工作的编程新手?

高端章鱼哥

Python sql

前端代码重复度检测

南城FE

JavaScript 前端 代码

简单聊聊低代码

互联网工科生

低代码 数字化

基于Vue构建的快速开发框架

树上有只程序猿

Vue 低代码

SRM供应商招采系统(源码)

金陵老街

Native SQLite Manager for mac(SQLite数据库管理器) 1.26.1全新激活版

mac

苹果mac Windows软件 Native SQLite Manager SQLite 数据库的工具

基于 ACK Fluid 的混合云优化数据访问(四):将第三方存储目录挂载到 Kubernetes,提升效率和标准化

阿里巴巴云原生

阿里云 Kubernetes 容器 云原生 ACK

WorkPlus安全专属的企业IM助力政企高效协作

WorkPlus

什么是多云? 为什么我们需要多云可观测性 (Observability)?

NineData

多云服务 多云架构 多云管理 多云 多云多源

邀你见证一本思维小册子的诞生:《豆哥宝典:思维模型》

豆哥

AI 思维模型 GPT 宝典

​左手 Serverless,右手 AI,7 年躬身的古籍修复之路

阿里巴巴云原生

阿里云 Serverless 云原生

数字货币双仓合约交易所系统开发搭建

V\TG【ch3nguang】

软件测试/测试开发丨基于人工智能的代码分析与 Bug 检测实战

测试人

人工智能 程序员 软件测试 自动化测试 测试开发

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