If you run the following command:
curl -I http://mirror.pramati.com/ubuntureleases/18.04.1/ubuntu-18.04.1-desktop-amd64.iso
...you will get the following output:
HTTP/1.1 200 OK
Date: Wed, 10 Oct 2018 13:40:09 GMT
Server: Apache
Last-Modified: Wed, 25 Jul 2018 03:22:14 GMT
ETag: "746dc000-571ca628f7985"
Accept-Ranges: bytes
Content-Length: 1953349632
Cache-Control: max-age=1209600, public
Expires: Wed, 24 Oct 2018 13:40:09 GMT
Content-Type: application/x-iso9660-image
See the Accept-Ranges header? That means the server is willing to accept range requests.
Browsers have the ability to ensure resumes, using the same concept only. Chrome maintains a temporary .crdownload file; with that information chrome can make a request for a range starting from the non-downloaded byte; on a pause & resume.
Sometimes even though servers support range requests (another apt name for this is byte serving), they do not send any Accept-Ranges header. The absence of this header is not an accurate indicator of the truth about the server's ability for byte range serving.
Some clients assume that the server doesn't support byte serving in either or both of the two cases:
Accept-Ranges header is absentAccept-Ranges header is equal to 'none'In summary, if the server truly doesn't support byte serving, then resumes of downloads on any clients, from that server, are really not possible!