-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Labels
Description
[ Inspired from https://github.com/minio/minio-go/issues/797]
Downloading an object can be parallelized using multiple GET request with range-headers. This can lead to significant download performance improvement for large files.
The strategy can be as follows:
- Perform a HEAD request on the object to retrieve its size and ETag.
- Choose a suitable split-size, and make a list of range headers to be used in subsequent requests.
- Perform the GET requests with range-headers and write them to appropriate offsets into the on-disk file. In each GET request use the If-Match header and set the ETag retrieved in step 1. This is to make sure that any changes to the object during the download may be detected.
Reactions are currently unavailable