শুধু তখনই ডাউনলোড আবার চালু করুন, যখন 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-এর দৃশ্যমান অবজেক্ট ক্যাশ নীতিকে ভিতরের অনুরোধের নিয়ন্ত্রণ ভাববেন না।

সম্পর্কিত নিবন্ধ