写点什么

Web 页面性能分析工具 YSlow 开源

  • 2012-02-16
  • 本文字数:761 字

    阅读完需:约 2 分钟

2 月 16 日,Yahoo! 的前端工程师 Marcel Duran 在 Yahoo! 研发团队官方博客发布消息: YSlow 开源

YSlow 是广为人知的 Web 页面性能分析、测试和调试工具,已经成为业界的事实标准之一。它的主要功能包括:

  • 基于三种预定义的规则集,或用户自定义的规则集,为页面打分
  • 为页面性能提升提供建议
  • 总结页面的组件情况
  • 展示页面统计信息
  • 提供性能分析工具,包括 Smush.it JSLint

YSlow 团队提出的“23 条 Web 性能最佳实践和规则”更是被奉为圭璧。

  1. 尽可能减少 HTTP 请求次数
  2. 使用 CDN
  3. 避免空 src 和 href 标签
  4. 加入 Expires 或 Cache-Control Header
  5. 使用 Gzip 压缩
  6. 在 html 文件顶部放置样式表
  7. 在 html 文件底部放置 JavaScript 脚本
  8. 避免使用 CSS 表达式
  9. 使用外部 JavaScript 和 CSS 外部文件
  10. 减少使用 DNS 查找次数
  11. 精简 JavaScript 和 CSS
  12. 避免重定向
  13. 移除重复的脚本
  14. 配置 ETag
  15. 缓存 AJAX
  16. 使用 GET 完成 AJAX 请求
  17. 减少 DOM 元素数量
  18. 避免 404
  19. 减少 Cookie 大小
  20. 使用无 Cookie 的域
  21. 避免使用滤镜
  22. 不要在 HTML 中缩放图片
  23. 使用小 favicon.ico 文件,并让其可缓存

在博客中,Marcel 这样写:

从 2007 年开始,YSlow 对公众免费发布。过去 5 年,Yahoo! 一直在维护其代码,并得到社区的鼓励,一直在改进。现在,我们在 BSD 开源协议下将 YSlow 代码开源。⋯⋯由于 YSlow 完全以 JavaScript、HTML 和 CSS 开发,大家很容易为其做出贡献。

YSlow 在 GitHub 上的最新开发版在 github.com/marcelduran/yslow

性能社区一直在通过 Exceptional Performance Yahoo! 讨论组做出间接贡献,提供有价值的反馈。现在,问题将会通过 GitHub 的公共问题跟踪系统处理,社区能够直接决定项目路线图。现在,你们可以来协助制定优先级、修复bug 并改进YSlow 了!请赶紧 fork 代码,开始贡献吧!

InfoQ 的读者们,你们对 YSlow 的开源怎么看?你们会去为其贡献代码吗?欢迎在评论中留下你们的想法!

2012-02-16 22:393961
用户头像

发布了 479 篇内容, 共 157.9 次阅读, 收获喜欢 49 次。

关注

评论

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

拿捏!隔离级别、幻读、Gap Lock、Next-Key Lock

艾小仙

MySQL sql 面试 大前端

神策 Android 全埋点插件介绍

神策技术社区

程序员 数据分析 埋点

神策分析 Web JS SDK 功能介绍

神策技术社区

程序员 代码 埋点

iOS SDK 架构解析

神策技术社区

程序员 数据 埋点

大数据实战训练营-sparkcore作业

Clarke

架構實戰營 - 畢業設計

Frank Yang

架构实战营

2021 年 8 月国产数据库排行榜:秋日胜春朝

墨天轮

数据库 TiDB oceanbase 国产数据库 达梦

LeetCode刷题07-简单 整数翻转

ベ布小禅

8月日更

FL Studio基本功能介绍

懒得勤快

写作——开启技术成长之路

神策技术社区

程序员 写作 日志

TronChain波场链智能合约开发详情|智能合约DAPP搭建

量化系统19942438797

智能合约 波场链

Golang高并发:生产者消费者模型

Regan Yue

Go 语言 8月日更 生产者消费者模型

烂大街的Spring循环依赖该如何回答?

Java spring 程序员 架构 面试

小米和网易两位资深工程师联合编写的HBASE原理与实践PDF

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

MySQL 系列教程之(十二)扩展了解 MySQL 的存储过程,视图,触发器

若尘

MySQL 数据库 8月日更

LeetCode题解:28. 实现 strStr(),暴力法,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

从 FFmpeg 性能加速到端云一体媒体系统优化

阿里云视频云

开源 ffmpeg 视频处理 视频流 视频云

微信小程序图片流&本地图片转base64处理方案

页面仔小杨

微信小程序

书单 | 无所不能的Python,从技术到办公,总有一款适合你!

博文视点Broadview

神策分析 iOS SDK 代码埋点解析 | 数据采集

神策技术社区

程序员 数据 代码 埋点

Android SDK 之用户路径采集

神策技术社区

数据 路径规划 分析 行为数据

架构实战营 模块六作业

孫影

架构实战营 #架构实战营

容器监控薅光了头发?这篇你再也不能错过!

观测云

json Docker 云计算 Linux 容器

原来一条select语句在MySQL是这样执行的《死磕MySQL系列 一》

咔咔

MySQL 数据库

揭秘环境管理 Noah 的技术实现

Qunar技术沙龙

测试 Dev QA 环境 资源池

其实TCP聪明得很!详解TCP常见的五个异常处理场景

Java 编程 架构 程序人生 架构师

“人人皆可成为AI开发者”!百度世界大会官宣百度松果学堂成立

百度大脑

人工智能

支持 10 亿日流量的基础设施:当 Apahce APISIX 遇上腾讯

API7.ai 技术团队

案例 API网关 APISIX Meetup 腾讯游戏

4轮技术面+1轮HR面,成功拿到腾讯40k*16的Offer ,详解面试流程和真题解析

Java 程序员 架构 面试

新思科技推出Rapid Scan新功能帮助开发团队在编写云原生应用的同时确保安全性

InfoQ_434670063458

新思科技 静态应用安全

SphereEx CEO 张亮:数据库上云是大势所趋|初心·问

SphereEx

数据库 开源

Web页面性能分析工具YSlow开源_语言 & 开发_郑柯_InfoQ精选文章