ดาวน์โหลดต่อผ่าน Squid
ตรวจคำตอบ Range และความตรงกันของออบเจ็กต์ก่อนดาวน์โหลดต่อ และแยกนโยบายดึงล่วงหน้าของ Squid ออกจากการรองรับ Range พื้นฐาน
ใช้การดาวน์โหลดต่อเฉพาะเมื่อ download.part เป็นส่วนของรูปแทนออบเจ็กต์เดียวกับที่จะขอตอนนี้ ชื่อไฟล์อย่างเดียวพิสูจน์ไม่ได้ เพราะต้นทางอาจเปลี่ยนเนื้อหาตั้งแต่ครั้งแรก
curl --proxy http://proxy.example:3128 --noproxy '' --connect-timeout 5 --max-time 60 -C - --output download.part http://files.example/test.binแทนที่จุดเชื่อมต่อทั้งสองด้วยบริการที่คุณมีสิทธิ์ใช้ สำหรับเปรียบเทียบไฟล์สาธารณะในที่ที่อนุญาตพร็อกซีสาธารณะ ให้เลือกจุด HTTP จากรายการพร็อกซี HTTP -C - ใช้ขนาดไฟล์ที่มีอยู่เป็นจุดเริ่มต่อ ตรวจคำตอบปลายทางแทนถือว่าเนื้อหาที่ส่งกลับทุกอย่างคือไบต์ที่ขาด:
| คำตอบ | ความหมาย |
|---|---|
| 206 พร้อม Content-Range | ตรวจว่าช่วงที่ส่งกลับเป็นส่วนต่อที่คาดไว้ |
| 200 | เซิร์ฟเวอร์อาจไม่สนใจ Range และส่งรูปแทนทั้งหมดมา |
| 416 | ช่วงที่ขอไม่สามารถตอบสนองได้ อย่านำหน้าแจ้งข้อผิดพลาดไปต่อท้ายไฟล์ |
ตัวตรวจสอบความเปลี่ยนแปลงและ If-Range ช่วยเลี่ยงการต่อทรัพยากรคนละเวอร์ชันเข้าด้วยกันได้ ทำตามกฎรูปแทนของแอปก่อนเชื่อถือไฟล์ที่ครบแล้ว
range_offset_limit ใน Squid 6.13 ควบคุมว่าจะดึงออบเจ็กต์ตั้งแต่ต้นเพื่อแคชเมื่อใด ไม่ได้ควบคุมว่าไคลเอนต์ขอช่วงได้หรือไม่:
range_offset_limit 0ขีดจำกัดศูนย์เลี่ยงการดึงส่วนต้นเพิ่มเพียงเพื่อเติมแคช การส่งต่อช่วงที่มีประโยชน์โดยไม่แคชออบเจ็กต์ยังสำเร็จได้ สำหรับ HTTPS CONNECT ปกติ การโต้ตอบ Range อยู่ภายใน TLS ของปลายทาง ให้อ่านคำตอบนั้น ไม่ใช่ถือว่านโยบายแคชออบเจ็กต์ที่ Squid มองเห็นควบคุมคำขอข้างใน