डाउनलोड तभी जारी करें जब 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 - मौजूदा फ़ाइल के आकार को जारी रखने का बिंदु बनाता है। किसी भी लौटे बॉडी को बचे हुए बाइट मानने के बजाय गंतव्य का रिस्पॉन्स देखें:

रिस्पॉन्सअर्थ
Content-Range के साथ 206जाँचें कि लौटाई रेंज अपेक्षित अगला हिस्सा है।
200सर्वर ने शायद Range को अनदेखा करके पूरा प्रतिनिधित्व भेजा हो।
416माँगी रेंज पूरी नहीं हो सकती; त्रुटि पृष्ठ फ़ाइल में न जोड़ें।

वैलिडेटर और If-Range बदलते रिसोर्स के अलग संस्करण जोड़ने से बचा सकते हैं। पूरी फ़ाइल पर भरोसा करने से पहले ऐप के प्रतिनिधित्व नियम मानें।

Squid 6.13 का range_offset_limit तय करता है कि कैश के लिए ऑब्जेक्ट कब शुरू से लिया जाए, यह नहीं कि क्लाइंट रेंज माँग सकता है या नहीं:

range_offset_limit 0

शून्य सीमा सिर्फ़ कैश भरने के लिए शुरुआत का अतिरिक्त हिस्सा लेने से बचाती है। ऑब्जेक्ट कैश किए बिना उपयोगी रेंज भेजना भी सफल हो सकता है। सामान्य HTTPS CONNECT में Range आदान-प्रदान गंतव्य के TLS के अंदर होता है; वह रिस्पॉन्स पढ़ें, Squid की दिखाई देने वाली ऑब्जेक्ट कैश नीति को अंदरूनी अनुरोध का नियंत्रण न मानें।

संबंधित लेख