首页 >> 大全

HTTP POST请求发送两个TCP包?

2023-11-27 大全 35 作者:考证青年

然后为了不愿望作者,我仔细看了原文,后面还提到,浏览器先发送,然后发送body。。。嗯,难道意思是浏览器做了这个动作,而用发送就没有?于是我又进一步测试一下网站里有没有post请求。所以我在一个网页上做了一个post请求,结果:

_HTTP POST请求发送两个TCP包?_HTTP POST请求发送两个TCP包?

可以看到,一个post请求,实际上,还是只有一个tcp包,整个就给他打包过去了, 先发送什么的,至少在我的测试里面不存在的。

那么真的不存在一个post请求分两个tcp包过去的情况吗?我不知道,至少在我知道的范围内,没看过。

2018年1月5日补充:

嗯,有朋友提到,人家最后确实写了抓到的包是一个。是我批判过急了。我原文也说的是不确定是不是就没有发两个包的浏览器。

HTTP POST请求发送两个TCP包?_HTTP POST请求发送两个TCP包?_

另外,为表诚意,我仔细搜索了相关内容,发现确实是有发两个包的情况的,但是并不是跟作者说的那样,先发post的,返回一个100继续,而是先发一个tcp包,把发过去,然后因为nagle算法的原因,就等待一个tcp的ack,然后再发剩下的包。

原文章在这里,主要内容是作者发现post比get多200ms,然后深入研究,发现ruby的net::HTTP库,会将一个http请求拆分,先发送部分。另外,由于没有设置,所以第一个包之后要等待ack,才发下一个包,导致了一个请求有200ms的延迟。有一个中文博客引用了这篇文章。不过我没用过ruby,不能直接测试,也不清楚是不是真的如此,或者这个问题已经被修复,有测试过的朋友请一定告诉我。

2018年8月8日补充:

我补充了一片文章后续,有兴趣的朋友可以看看。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了