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