客户端通过Fiddler发送重复请求时会发生什么?

问题描述 投票:0回答:1

我在我的电脑上安装Fiddler并使用Fiddler作为代理来监控手机中应用的流量。有时,Fiddler会捕获具有不同范围标题的重复请求。

例如,应用程序为一个具有不同范围标题的1000字节MP4文件发送3个HTTP GET请求。第一个带“Range:0-”,第二个带“Range:0-499”,第三个带“Range:300-999”。 Fiddler接收所有三个响应,其主体总和为1000 + 500 + 700 = 2200字节。但似乎Fiddler并没有将如此多的数据发送回应用程序。

我的猜测是应用程序首先发送“Range:0-”请求,但在得到任何响应之前它会发送“Range:0-499”请求并关闭第一个请求。当收到前300个字节时,应用程序关闭第二个请求并发送“Range:300-999”请求并获得以下700个字节。那是对的吗?如果这是正确的,为什么Fiddler会下载消耗额外带宽的所有三个响应?如果这是错的,应用程序会获得多少数据?

此外,没有代理会发生什么? 2200字节是否会被传输并占用额外的带宽?

http proxy fiddler
1个回答
0
投票

提琴手是代理人。它接收来自客户端的请求并将它们发送到服务器。请求是否有意义,不是最优的,也不是Fiddler的范围。它的工作是将请求完全按照收到的请求发送到服务器(除非您使用过滤器或脚本来更改或删除请求)。

如果客户端在完全接收到来自服务器的数据之前关闭连接,则可能出现唯一的问题。除非您使用Fiddler请求的流式传输模式,否则将缓存响应以将其转发到目的地。因此,如果客户端已断开连接,Fiddler可能会下载完整的响应事件。我假设这是第一个0-GET请求的情况。可能是因为客户端检测到使用了代理,它将其请求方案更改为更兼容代理的系统。

如果你不使用Fiddler,你应该使用Wireshark并捕获流量 - 可能是不同或不是Wireshark会告诉你(假设流量不是HTTPS加密的)。

© www.soinside.com 2019 - 2024. All rights reserved.