此书不建议购买,一、比较老了,现在的浏览器有自己的优化策略,与以往不同;二、如今已经流行的技术当时可能还没有。
总结一下,可能加了些我自己的YY……
减少HTTP请求
合并资源
1.Css sprites
2.合并js和css
内联外部资源
1.内联图片:base64
2.内联css和js:现在的前端mv*框架基本都是这样做的
缓存机制
1.ServiceWorker:新技术
2.HTTP的header:expire、max-age、etag
更快的HTTP
CDN
减少DNS查找
1.浏览器的DNS缓存
2.操作系统的DNS缓存?
3.DNS解析服务器缓存
4.网站上的请求使用少量的域:有个副作用,浏览器对同域的资源并行下载的数量
5.keep-alive:现在http1.1默认都是keep-alive
避免重定向
1.通过HTTP代理解决,比如apache、nginx,直接指向应该返回的地址
2.代码位于同一个物理机上,直接通过调用真正该执行的代码:现在都有SLB、docker这种东西,所以根本不可能
3.通过CNAME(一条DNS记录)使两个域指向同一台服务器,HTTP代理也可以解决
减少资源大小
1.gzip:耗费CPU
2.js、css压缩、混淆
减少白屏时间
1.css放在顶部
2.js放在底部
3.js并行下载
4.js懒加载:onload之后
5.js异步加载:defer、async