Think of a series of request/response transactions instead of a single "download" request.
It would be up to the client to keep track of which chunks are still missing from the total file.
BitTorrent is, of course, based on this idea of assembling a BIG data file from independently handled chunks.
Bill