I install Fiddler on my PC and use Fiddler as a proxy to monitor the traffic of an app in my phone. Sometimes, Fiddler captures duplicate requests with different range headers.
For example, the app sends 3 HTTP GET requests for one 1000-byte MP4 file with different range header. The first with "Range: 0-", second with "Range: 0-499", third with "Range: 300-999". Fiddler receives all three responses whose bodies sum up to 1000+500+700=2200 bytes. But it seems that Fiddler doesn't send so much data back to the app.
My guess is that the app first sends "Range: 0-" request but before getting any response it sends "Range: 0-499" request and close the first request. When the first 300 bytes received, the app closes the second request and sends "Range: 300-999" request and get the following 700 bytes. Is that correct? If that's correct, why does Fiddler download all three responses which consumes extra bandwidth? If that's wrong, how much data does the app get?
Furthermore, what will happen without proxy? Will the 2200 bytes be transferred and take up extra bandwidth?