This is usually done by utilizing the "
Range" (Request) and "
Content-Range" (Response) HTTP header. Client will set the "
Range" HTTP header to let the Server know what part of the file it wants to download, and the Server will use the "
Content-Range" HTTP header to let the Client know what part of the file is being returned.
Naturally, it is not enough to simply set these HTTP headers. You also need to implement your DataProvider and DataRequest events to read and write file parts accordingly.
For example, the RTC WebServer Demo uses "Range" and "Content-Range" HTTP headers to allow file download resuming. Open the "rtcFileProvider.pas" unit and search for 'RANGE' and 'Content-Range' to find the corresponding implementations for the Server side.
For a detailed definition of the "Range", "Content-Range" and other HTTP header fields, please visit:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.htmlBest Regards,
Danijel Tkalcec