Interrupted transfers waste time and bandwidth when a large file has to start again from byte zero. Resuming a partial download lets wget reuse the bytes already written to disk, which is most useful for large archives, unstable links, and scheduled recovery jobs.
GNU wget resumes with -c or --continue by comparing the existing local file size with the remote object and requesting only the remaining bytes. Current GNU documentation also notes that -c is only for a partial file left by an earlier run, because a single wget invocation already retries a dropped connection during the current transfer.
Resume is only safe when the local file is still a valid prefix of the remote file. If the server ignores ranged requests, wget -c restarts the download from the beginning and can overwrite the partial file, and if the remote file changed rather than simply grew, appending the remaining bytes can leave a corrupted result.
$ cd ~/downloads/resume $ ls -lh db-backup-20260421.tar.gz -rw-r--r-- 1 user user 96M Apr 21 22:18 db-backup-20260421.tar.gz
Resume matches the existing local filename in the current directory, so renaming or moving the partial file changes what wget can continue.
$ wget -c https://artifacts.example.net/backups/db-backup-20260421.tar.gz
--2026-04-21 22:18:35-- https://artifacts.example.net/backups/db-backup-20260421.tar.gz
Resolving artifacts.example.net (artifacts.example.net)... 198.51.100.24
Connecting to artifacts.example.net (artifacts.example.net)|198.51.100.24|:443... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 402653184 (384M), 301989888 (288M) remaining [application/octet-stream]
Saving to: 'db-backup-20260421.tar.gz'
[ skipping 98304K ]
##### snipped #####
2026-04-21 22:18:41 (48.4 MB/s) - 'db-backup-20260421.tar.gz' saved [402653184/402653184]
A 206 Partial Content response confirms that the server accepted the range request and sent only the missing bytes.
$ wget -c https://artifacts.example.net/backups/db-backup-20260421.tar.gz
--2026-04-21 22:18:45-- https://artifacts.example.net/backups/db-backup-20260421.tar.gz
Resolving artifacts.example.net (artifacts.example.net)... 198.51.100.24
Connecting to artifacts.example.net (artifacts.example.net)|198.51.100.24|:443... connected.
HTTP request sent, awaiting response... 416 Requested Range Not Satisfiable
The file is already fully retrieved; nothing to do.
This is the clean success state for a completed resumed download: the file on disk already matches the full remote size.
$ rm -f db-backup-20260421.tar.gz $ wget https://artifacts.example.net/backups/db-backup-20260421.tar.gz
A 200 OK response means the server ignored resume and wget restarted from byte zero, so keep the partial file only when it still belongs to the same remote object.