内容简介
第1章WebPageTest内部原理
1.1函数拦截
1.2代码注入
1.3决定浏览器架构
1.4获取代码
1.5浏览器的发展
第2章IocalStorage读取性能
2.1基准测试
2.2这是怎么回事
2.3优化策略
2.4跟进
第3章 内联不是万能的
3.1没有浏览器缓存
3.2没有边缘缓存
3.3没有按需加载
3.4浏览器预加载失效
3.5不完美的方案:只在第一次访问时采用内联方式
3.6总结和建议
第4章 加载异步脚本的艺术
4.1 Facebook插件JS SDK
4.2设计原则和标准
4.3代码片段
4.4插入脚本的其他方案
4.5终于
4.6我们遗漏了什么
4.7如果我是代码片段的使用者
4.8离别感言:站在巨人的肩膀上
第5章 运营商网络:钻进兔子洞
5.1多样化
5.2延迟
5.3编码变换
5.4这是一座金山
5.5 4G也不能拯救我们
5.6我们要去向何方
5.7隧道尽头的光
第6章HTTP并行化
6.1介绍:滚下楼梯
6.2目前最佳实践:绕过HTTP
6.3实验:深入研究HTTP Archive
6.4结果:大量的连续请求序列
6.5推荐:是时候修改协议了
第7章 自动化网站性能优化
第8章 前端单点故障
8.1 Business Insider网站
8.2 CNET网站
8.3 O’Reilly Radar网站
8.4引起前端单点故障的原因
8.5避免前端单点故障
8.6行动起来
第9章 关于YSlow
第10章 高性能原生移动应用
10.1注意你的瀑布流
10.2压缩这些资源
10.3不要重复下载
10.4太多图片会减慢你的速度么
10.5后记
第11章纯CSS3图片?哼,也许晚点再说吧
11.1挑战
11.2动手写CSS3
11.3跨浏览器效果
11.4基准测试
11.4.1加载成本
11.4.2渲染
11.5达到我们的目标了么
11.6附录:代码目录
11.6.1 HTML
11.6.2 css
第12章Android中下载无用背景图片
12.1 Android下的问题
12.2无法解决
第13章 网络计时
第14章 我对HTTP的理解/思考
14.1 icy
14.2一些细节
14.3演练
14.4待办事项
14.5前进道路
14.6我想要的圣诞礼物
第15章 使用智能缓存避免机器人性能开销
第16章 导航计时API实践
16.1为什么要关心这些
16.2收集导航计时时间戳并将它们转为有用的度量值
16.3使用Google分析作为性能数据仓库
16.4 Google分析中的性能报告
16.5限制
16.6最后的思考
第17章 响应时间对业务的影响
第18章 考虑移动界面的性能
18.1电池寿命
18.2延迟
18.3嵌入CSS和JS:最佳实践
18.4内存
18.4.1优化图片
18.4.2权衡CSS的好处
18.4.3 GPU的好处及陷阱
18.4.4视口:眼不见,心还是得为它“烦”
18.4.5最小化DOM
18.5 UI响应
18.6总结
第19章 别再浪费时间使用Google Analytics的站点速度报告了
19.1问题:Firefox中关于Navigation Timing API的一个bug
19.2解决方案:在Google Analytics中滤除Firefox的时间
19.3好消息:这个bug已在Firefox 9中修复
19.4结语
第20章 超越Web开发者工具:Strace
20.1其他平台怎么办
20.2开始
20.3校正
20.4示例:本地存储
20.5我们才刚触及皮毛
第21章mod_spdy介绍:ApacheHTTPServer的SPDY模块
21.1 mod_ spdy入门
21.2 SPDY和Apache
21.3帮助改进mod_spdy
第22章CommonJS模块的惰性求值
22.1深入理解Text/JavaScript类型
22.2懒加载
22.3用延迟执行来挽救
22.4在CommonJS模块中创建懒执行
第23章 关于接受建议的建议
第24章 为什么你对性能测试结果的解读可能是错误的(至少你在大公司里工作)
24.1测试方法
24.2测试结果
24.3结论
24.4为什么这个问题如此重要
24.5几个重要的点
第25章 有损图像压缩
第26章 基于Selenium和JavaScript的性能测试
26.1记录数据
26.2收集和分析数据
26.3示例结果
26.4帮助/益处
26.5结束语
26.6致谢
第27章 一个评估网站性能的简单方法
27.1概念
27.2优势
27.3局限
27.4结束语
第28章 超越带宽:UI性能
28.1引言
28.2页面加载后:UI层
28.3 UI性能分析工具
28.4 CSS压力测试
28.5 CSS性能分析器
28.6 CSS Lint
28.7 DOM Monster
28.8对速度的感知/速度感
28.9花絮
28.10呼吁关注UI性能
第29章CSS Selector性能改变了(变得更好了)
29.1样式共享(Style Sharing)
29.2规则哈希(Rule Hashes)
29.3父过滤器(Ancestor filters)
29.4快速路径(Fast Path)
29.5还有什么仍然很慢呢
第30章 大胆尝试PhantomJS和confess.js
30.1性能概要
30.2应用程序缓存清单(App Cache Manifest)
30.3发展和完善
第31章 两次测量一次优化
31.1识别需要优化的页面/部分
31.2识别需要优化的功能
31.3优化
第32章 后端问题检测
32.1适当的后端时间该是多少
32.2搞清楚是怎么回事
32.3修复
32.4最后
第33章Web字体性能:@font-face及其他解决方案间的权衡
33.1字体托管服务与自主开发
33.1.1字体托管服务
33.1.2 DIY方式
33.2 FOUT是什么
33.3移除多余的字体字形
33.4 JavaScript字体加载器
33.5 Boot.getFont介绍:一种快速、小巧的Web字体加载器
33.6 Gentlefonts,启动你的引擎
33.7我的观察
33.8一些想法