文档提及http GET/POST分成多个包影响响应速度。
看一个例子(服务器端抓包结果):
1353999809.500072 client:51912 server:80 seq:3156694267 ack:0 len:0 win:32768 [S] MSS 1460 TCPOPT_NOP wscale: 4 TCPOPT_NOP TCPOPT_NOP SACK permitted
1353999809.500079 server:80 client:51912 seq:915114449 ack:1 len:0 win:7475200 [SA] MSS 1460 TCPOPT_NOP TCPOPT_NOP SACK permitted TCPOPT_NOP wscale: 512
1353999809.542762 client:51912 server:80 seq:1 ack:1 len:0 win:65700 [A]
1353999809.543547 client:51912 server:80 seq:1 ack:1 len:524 win:65700 [AP] GET/POST
1353999809.543602 server:80 client:51912 seq:1 ack:525 len:0 win:15872 [A]
1353999809.544219 server:80 client:51912 seq:1 ack:525 len:212 win:15872 [AP] HTTP
1353999809.879391 client:51912 server:80 seq:525 ack:213 len:0 win:65488 [A]
1353999810.173015 client:51912 server:80 seq:525 ack:213 len:514 win:65488 [AP] GET/POST GET请求发送的第一个包,长度只有514
1353999810.173025 server:80 client:51912 seq:213 ack:1039 len:0 win:16896 [A]
1353999810.412197 client:51912 server:80 seq:1039 ack:425 len:0 win:65276 [A]
1353999811.107816 client:51912 server:80 seq:1039 ack:425 len:514 win:65276 [AP] GET请求发送的第二个包,长度也是514
1353999811.107826 server:80 client:51912 seq:425 ack:1553 len:0 win:17920 [A] 1353999811.108169 server:80 client:51912 seq:425 ack:1553 len:212 win:17920 [AP] HTTP 服务器端收到第二包后,1ms后发送了响应
1353999811.136103 client:51912 server:80 seq:1553 ack:637 len:514 win:65064 [AP] GET/POST
1353999811.136118 server:80 client:51912 seq:637 ack:2067 len:0 win:18944 [A]
1353999811.136489 server:80 client:51912 seq:637 ack:2067 len:212 win:18944 [AP] HTTP
1353999811.357568 client:51912 server:80 seq:2067 ack:849 len:0 win:64852 [A]
1353999814.437771 client:51912 server:80 seq:2067 ack:849 len:502 win:64852 [AP] GET/POST
1353999814.437782 server:80 client:51912 seq:849 ack:2569 len:0 win:19968 [A]
1353999814.438165 server:80 client:51912 seq:849 ack:2569 len:212 win:19968 [AP] HTTP
1353999814.692113 client:51912 server:80 seq:2569 ack:1061 len:0 win:64640 [A]
1353999814.813040 client:51912 server:80 seq:2569 ack:1061 len:502 win:64640 [AP] GET/POST
1353999814.813043 server:80 client:51912 seq:1061 ack:3071 len:0 win:21504 [A]
1353999814.813323 server:80 client:51912 seq:1061 ack:3071 len:212 win:21504 [AP] HTTP
1353999815.051672 client:51912 server:80 seq:3071 ack:1273 len:0 win:64428 [A]
1353999829.813281 server:80 client:51912 seq:1273 ack:3071 len:0 win:21504 [AF]
1353999829.852824 client:51912 server:80 seq:3071 ack:1274 len:0 win:64428 [A]
1353999834.676928 client:51912 server:80 seq:3071 ack:1274 len:0 win:0 [AR]
1353999809.500079 server:80 client:51912 seq:915114449 ack:1 len:0 win:7475200 [SA] MSS 1460 TCPOPT_NOP TCPOPT_NOP SACK permitted TCPOPT_NOP wscale: 512
1353999809.542762 client:51912 server:80 seq:1 ack:1 len:0 win:65700 [A]
1353999809.543547 client:51912 server:80 seq:1 ack:1 len:524 win:65700 [AP] GET/POST
1353999809.543602 server:80 client:51912 seq:1 ack:525 len:0 win:15872 [A]
1353999809.544219 server:80 client:51912 seq:1 ack:525 len:212 win:15872 [AP] HTTP
1353999809.879391 client:51912 server:80 seq:525 ack:213 len:0 win:65488 [A]
1353999810.173015 client:51912 server:80 seq:525 ack:213 len:514 win:65488 [AP] GET/POST GET请求发送的第一个包,长度只有514
1353999810.173025 server:80 client:51912 seq:213 ack:1039 len:0 win:16896 [A]
1353999810.412197 client:51912 server:80 seq:1039 ack:425 len:0 win:65276 [A]
1353999811.107816 client:51912 server:80 seq:1039 ack:425 len:514 win:65276 [AP] GET请求发送的第二个包,长度也是514
1353999811.107826 server:80 client:51912 seq:425 ack:1553 len:0 win:17920 [A] 1353999811.108169 server:80 client:51912 seq:425 ack:1553 len:212 win:17920 [AP] HTTP 服务器端收到第二包后,1ms后发送了响应
1353999811.136103 client:51912 server:80 seq:1553 ack:637 len:514 win:65064 [AP] GET/POST
1353999811.136118 server:80 client:51912 seq:637 ack:2067 len:0 win:18944 [A]
1353999811.136489 server:80 client:51912 seq:637 ack:2067 len:212 win:18944 [AP] HTTP
1353999811.357568 client:51912 server:80 seq:2067 ack:849 len:0 win:64852 [A]
1353999814.437771 client:51912 server:80 seq:2067 ack:849 len:502 win:64852 [AP] GET/POST
1353999814.437782 server:80 client:51912 seq:849 ack:2569 len:0 win:19968 [A]
1353999814.438165 server:80 client:51912 seq:849 ack:2569 len:212 win:19968 [AP] HTTP
1353999814.692113 client:51912 server:80 seq:2569 ack:1061 len:0 win:64640 [A]
1353999814.813040 client:51912 server:80 seq:2569 ack:1061 len:502 win:64640 [AP] GET/POST
1353999814.813043 server:80 client:51912 seq:1061 ack:3071 len:0 win:21504 [A]
1353999814.813323 server:80 client:51912 seq:1061 ack:3071 len:212 win:21504 [AP] HTTP
1353999815.051672 client:51912 server:80 seq:3071 ack:1273 len:0 win:64428 [A]
1353999829.813281 server:80 client:51912 seq:1273 ack:3071 len:0 win:21504 [AF]
1353999829.852824 client:51912 server:80 seq:3071 ack:1274 len:0 win:64428 [A]
1353999834.676928 client:51912 server:80 seq:3071 ack:1274 len:0 win:0 [AR]
服务器端等待GET请求结束花费了接近1s,在用户端看来最终的rt就增加了1s。如果是1个包发送过来的,情况应该会乐观很多。
当然,这里为什么被拆成了2个包原因尚不明了。