经典最佳实践
1. 减少DNS查找
每一次主机名解析都需要一次网络往返,从而增加请求的延迟时间,同时还会阻塞后续的请求。
2. 重用TCP连接
尽可能使用持久连接,以消除TCP握手和慢启动延迟。
3. 减少HTTP重定向
HTTP重定向很费时间,特别是不同域名之间的重定向,更加费时;这里面既有额外的DNS查询、TCP握手,还有其他延迟。最好的重定向次数为零。
4. 使用CDN(内容分发服务)
把数据放到离用户地理位置更近的地方,可以显著减少每次TCP连接的网络延迟,增大吞吐量。这一条既适用于静态资源,也适用于动态资源。
5. 去掉不必要的资源
任何请求都不如不发送请求快。延迟是瓶颈,最快的速度莫过于什么也不传输。然而,HTTP也提供了很大额外的机制,比如缓存和压缩,还有与其版本对应的一些性能技巧。
6. 在客户端缓存资源
应该缓存应用资源,从而避免每次请求都发送相同的内容。
7. 传输压缩过的内容
传输前应该压缩应用资源,把要传输的字节减至最少,确保对每种要传输的资源采用最好的压缩手段。
8. 消除不必要的请求开销
减少请求的HTTP首部数据(比如HTTP的Cookie),节省的时间相当于几次往返的延迟时间。
9. 并行处理请求和相应
请求和响应的;排队都会导致延迟,无论是客户端还是服务端。
10. 针对协议版本采取优化措施
HTTP1.x支持有限的并行机制,要求打包资源、跨域分散资源,等等。相对而言,HTTP2.0只需要建立一个连接就能实现最优性能,同时无需针对HTTP1.x的那些优化方法。
转载:https://blog.csdn.net/caomage/article/details/101906142
查看评论