This post provides some miscellaneous HTTP component info:
1) About HTTP chunked responses: A chunked response is one where the HTTP server returns the document in chunks. (Your app won’t notice it because the Chilkat HTTP component handles chunked responses internally.) There is no HTTP content-length header, and Chilkat HTTP component (internally) must receive each chunk without knowing how many chunks are forthcoming. The last chunk is zero-length, and that indicates the end-of-response. With achunked response, it’s impossible to provide percentage completion events, therefore the component provides an OnChunked event so your application can know that a chunked response is being received. It also provides OnAbortCheck and OnReceiveRate events to ensure that the download is in progress. The OnPercentDone will be called at the very end with a 100% value.
2) IIS, by design, does not server files larger than 4GB. See: http://support.microsoft.com/?id=234923
3) The Download method is modified so that if the download fails, the partial file is not deleted.
4) The ResumeDownload method is implemented, and it uses the "Range" HTTP header field to specifically request the portion of the document at a starting byte index. ResumeDownload is identical to Download, except it will check for the existence of the local (target) filename and automatically get the size of it and include that value in the Range header field. If a Download fails, your app can resume the download by simply calling ResumeDownload. ResumeDownload can be called any number of times until the download completes.