Table of contents
推荐序 xiii
前言 xv
绪言A 前端性能的重要性 1
跟踪Web页面性能 1
时间花在哪儿了? 3
性能黄金法则 4
绪言B HTTP概述 6
压缩 7
条件GET请求 7
Expires 8
Keep-Alive 8
更多信息 9
第1章 规则1――减少HTTP请求 10
图片地图 10
CSS Sprites 11
内联图片 13
合并脚本和样式表 15
小结 16
第2章 规则2――使用内容发布网络 18
内容发布网络 19
节省 20
第3章 规则3――添加Expires头 22
Expires头 22
Max-Age和mod_expires 23
空缓存VS完整缓存 24
不仅仅是图片 25
修订文件名 27
示例 28
第4章 规则4――压缩组件 29
压缩是如何工作的 29
压缩什么 30
节省 31
配置 31
代理缓存 33
边缘情形 34
压缩的实际效果 35
第5章 规则5――将样式表放在顶部 37
逐步呈现 37
sleep.cgi 38
白屏 39
样式内容的闪烁 43
前端工程师应该做什么? 43
第6章 规则6――将脚本放在底部 45
脚本带来的问题 45
并行下载 46
脚本阻塞下载 48
最差情况:将脚本放在顶部 49
最佳情况:将脚本放在底部 49
正确地放置 50
第7章 规则7――避免CSS表达式 51
更新表达式 52
围绕问题展开工作 52
小结 54
第8章 规则8――使用外部JavaScript和CSS 55
内联VS外置 55
典型的对比结果 58
主页 58
两全其美 59
第9章 规则9――减少DNS查找 63
DNS缓存和TTL 63
浏览器的视角 66
减少DNS查找 68
第10章 规则10――精简JavaScript 69
精简 69
混淆 70
节省 70
示例 72
锦上添花 73
第11章 规则11――避免重定向 76
重定向的类型 76
重定向是如何损伤性能的 77
重定向之外的其他选择 79
第12章 规则12――删除重复脚本 85
重复脚本――确有其事 85
重复脚本损伤性能 86
避免重复脚本 87
第13章 规则13――配置ETag 89
ETag是什么? 89
ETag带来的问题 91
Etag――用还是不用 93
现实世界中的ETag 94
第14章 规则14――使Ajax可缓存 96
Web 2.0、DHTML和Ajax 96
异步与即时 98
优化Ajax请求 99
现实世界中的Ajax缓存 99
第15章 析构十大网站 103
页面大小、响应时间、YSlow等级 103
如何进行测试 105
Amazon 107
AOL 110
CNN 114
eBay 116
Google 120
MSN 123
MySpace 127
Wikipedia 130
Yahoo! 132
YouTube 135
索引 139
^ 收 起