Melanjutkan unduhan melalui Squid
Periksa respons Range dan identitas objek sebelum melanjutkan berkas, serta bedakan kebijakan prefetch Squid dari dukungan Range dasar.
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.binGanti 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:
| Respons | Makna |
|---|---|
| 206 dengan Content-Range | Periksa apakah rentang yang dikembalikan adalah kelanjutan yang diharapkan. |
| 200 | Server mungkin mengabaikan Range dan mengirim representasi lengkap. |
| 416 | Rentang 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 0Batas 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.