I think download rates may depend on these 3 factors: the Network Infrastructure (router, VPN, network card, towers), the RAM or cache, the Final Storage (HDD or SDD or whatnot).
So we take this as an example: I have a very slow HDD Drive and very slow RAM but a very fast network adapter & router.
When downloading, for example, a Linux Live ISO, the adapter will download it fast but yet all content that is downloaded is not written to disk immediately.
So my plausible solutions would be:
- The Internet Stack (TCP/IP or whatever) allow clients to defer receiving network packets. So that a client could say to aserver directly: Yo, I’m still struggling with the data I received, would you mind sending me the next data after (when I tell you to do so).
- A software library pauses receiving data when struggling.
- Data is stored somewhere else (other than cache or RAM) (maybe on the router?)
Is there a one real answer or it depends?