《Web性能权威指南》笔记-20220105
本书描述了影响web性能的4个部分:
1.网络技术
2.无线网络
3.HTTP
4.浏览器与API
这次的归类总结也按照这个顺序依次记录。
第一章,延迟与带宽:目标是 低延迟与高带宽,核心网络速度已经是光速,而延迟中相当大的一部分是在最后几公里。
第二、三章,TCP:http协议是构建在TCP基础上的,TCP为了保证传输的可靠性增加了复杂性,这种复杂性也是以性能为代价的。所以要根据自己的服务器来优化TCP的配置。
UDP:DNS P2P 用的UDP协议。应用程序端必须自己实现流量和拥塞控制等机制。
第四章,传输层安全(TLS),SSL(Secure Sockets Layer)安全套接字层。TLS协议为在它之上的应用提供三个服务:加密、身份验证、数据完整性。但是建立和维护加密信道给俩段带来了计算复杂性。
优化方法:
1.尽早建立连接。
2.启用TLS会话缓存和无状态恢复。
3.TLS记录的大小没有唯一的答案,使其恰好能封装在一个TCP包内最好。小记录会照成浪费,大记录会导致延迟。
4.禁用服务器的TLS压缩功能。
5.保证证书链的长度最小,不会超过拥塞窗口的大小。
6.严格保证用户用HTTP安全传输,追加严格传输安全首部。
第五、六、七、八章,无线网络
收发端的距离,其他用户的干扰,发射功率大小,处理能力及调制算法,wifi的性能,把负载转移到wifi
第九、十章,Web性能的来源:计算、渲染、网络访问
1) CSS和JavaScript等重要的资源应该早在文档中出现;
2) 应该尽早交付CSS,从而解除渲染阻塞并让JavaScript执行;
3) 非关键性JavaScript应该推迟,以避免阻塞DOM和CSSOM构建;
4) HTML文档由解析器递增解析,从而保证文档可以间隙性发送,以求得最佳性能;
性能优化十大准则:
1) 减少DNS查找
2) 重用TCP连接
3) 减少HTTP重定向
4) 使用CDN
5) 去掉不必要的资源
6) 在客户端缓存资源
7) 传输压缩过的内容
8) 消除不必要的请求开销
9) 并行处理请求和响应
10) 针对协议版本采取优化措施
第十八章,WebRTC(Web Real-Time Communication):基于UDP传输数据