Lanjutkan hanya jika download.part berasal dari representasi objek yang sama dengan yang akan Anda minta sekarang. Nama berkas saja tidak memastikannya: sumber bisa mengubah konten sejak percobaan pertama.

curl --proxy http://proxy.example:3128 --noproxy '' --connect-timeout 5 --max-time 60 -C - --output download.part http://files.example/test.bin

Ganti kedua endpoint dengan layanan yang Anda berhak pakai. Untuk perbandingan berkas publik di tempat proxy publik diizinkan, pilih endpoint HTTP dari daftar proxy HTTP. -C - memakai ukuran berkas yang ada sebagai titik kelanjutan. Periksa respons tujuan alih-alih menganggap setiap badan yang diterima sebagai byte yang belum ada:

ResponsMakna
206 dengan Content-RangePeriksa apakah rentang yang dikembalikan adalah kelanjutan yang diharapkan.
200Server mungkin mengabaikan Range dan mengirim representasi lengkap.
416Rentang yang diminta tidak dapat dipenuhi; jangan tambahkan halaman kesalahan ke berkas.

Validator dan If-Range bisa membantu menghindari penggabungan versi sumber daya yang berubah. Ikuti aturan representasi aplikasi sebelum mempercayai berkas yang selesai.

range_offset_limit di Squid 6.13 mengatur kapan objek diambil dari awal untuk cache, bukan apakah klien boleh meminta rentang:

range_offset_limit 0

Batas nol menghindari pengambilan bagian awal tambahan hanya untuk mengisi cache. Meneruskan rentang berguna tanpa menyimpan objek di cache tetap bisa berhasil. Pada HTTPS CONNECT biasa, pertukaran Range berada di dalam TLS tujuan; baca respons itu alih-alih menganggap kebijakan cache objek Squid yang terlihat sebagai pengendali permintaan di dalamnya.

Artikel terkait