Menyambung muat turun melalui Squid
Semak respons Range dan identiti objek sebelum menyambung fail, serta bezakan dasar pramuat Squid daripada sokongan Range asas.
Sambung hanya apabila download.part tergolong dalam perwakilan objek yang sama dengan yang akan anda minta sekarang. Nama fail sahaja tidak memastikannya: sumber mungkin mengubah kandungan sejak percubaan pertama.
curl --proxy http://proxy.example:3128 --noproxy '' --connect-timeout 5 --max-time 60 -C - --output download.part http://files.example/test.binGantikan kedua-dua titik akhir dengan perkhidmatan yang anda dibenarkan gunakan. Untuk perbandingan fail awam di tempat proksi awam dibenarkan, pilih titik akhir HTTP daripada senarai proksi HTTP. -C - menggunakan saiz fail sedia ada sebagai titik sambungan. Periksa respons destinasi dan jangan anggap setiap badan yang diterima sebagai bait yang hilang:
| Respons | Tafsiran |
|---|---|
| 206 dengan Content-Range | Semak sama ada julat yang dikembalikan ialah sambungan yang dijangka. |
| 200 | Pelayan mungkin mengabaikan Range dan menghantar perwakilan penuh. |
| 416 | Julat yang diminta tidak dapat dipenuhi; jangan tambah halaman ralat pada fail. |
Pengesah dan If-Range boleh membantu mengelakkan penggabungan versi sumber yang berubah. Ikut peraturan perwakilan aplikasi sebelum mempercayai fail yang lengkap.
range_offset_limit dalam Squid 6.13 mengawal bila objek diambil dari awal untuk cache, bukan sama ada klien boleh meminta julat:
range_offset_limit 0Had sifar mengelakkan pengambilan bahagian awal tambahan semata-mata untuk mengisi cache. Memajukan julat berguna tanpa menyimpan objek dalam cache masih boleh berjaya. Dalam HTTPS CONNECT biasa, pertukaran Range berada dalam TLS destinasi; baca respons itu dan jangan anggap dasar cache objek Squid yang kelihatan mengawal permintaan di dalamnya.