- 论坛徽章:
- 12
|
Tinnal 发表于 2015-01-19 20:32 ![]()
方案1:HOOK客户端发起的HTTP请求,把request 中的Accept-Encoding: gzip, deflate参数去掉。让服务器别给你 ...
最近也在研究和http有关的协议栈方面的内容。发觉在传送一个超级大的html文件时,协议栈的数据很奇怪。趁机请教一下各位。
MTU: 1500,MSS : 1460.
server:nginx(已经禁止了 gzip );html文件大小:20M。
当 wget 该 html 时,理论上 ip 应该分片成十几个,但是抓包的结果很奇怪,具体如下:
1, 确实分片了。但是每个分片的标识(identification)不同,连续递增(理论上应该是相同的)。并且每个分片的 DF 置1,MF 为 0.
这种情况下,client 要如何才能将各个分片重新组装起来?
2,根据 RFC 1122,如果 client 收到一连串具有最大长度的报文,那么必须每隔一个报文就要发送一个确认。但是实际上,我发觉接收方确认得挺随机的,经常接收到4、5个甚至10个最大长度报文才想起来确认一次。而 FreeBSD 就非常标准地每两个报文返回一个确认。
不知道 linux 协议栈到底是怎么一个策略?
先行谢过。
|
|