影响HTTP1.1的几个TCP特征
1,握手延迟. 每次建立一个HTTP请求 都需要重新建立一个TCP的连接通道,建立TCP链接通道是需要代价的 .三次握手. 并且服务端和客户端之间维护多个TCP连接需要一定的资源消耗. 2,分组确认(窗口滑动概念.) TCP数据包在网络上传输是不可靠的,这样的情况下TCP有自己的传输保证机制.滑动窗口确认. 在服务端和客户端都会维护一个滑动窗口,当数据包发送后对方确认的时候会回传一个小的确认包.当收到确认包之后才会继续发送新的数据.并且滑动窗口向前滑动. 用于确认的包很小.所以由正常的数据包捎带完成确认.但是HTTP的特征使得确认包找不到一个能够搭载的数据帧,出现等待情况.数据包得不到确认.导致数据不能够及时完成传输.窗口不会出现滑动. 3,TCP慢启动问题 为防止网络拥塞.TCP链接在建立之后想要传输数据.需要实现 发送一个包,确认了一个包才能发两个包,确认了两个包,才能发四个包以此类推. 是为了防止出现网络拥塞,控制流量来设计的. 4,Nagle算法. TCP_NODELAY 全尺寸包先发.非全尺寸包最后发. 针对HTTP的应用场景这个策略并不适用. 是为了预防.**发送端傻窗口综合征** 来设计的.…