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 - বিদ্যমান ফাইলের আকারকে আবার শুরুর স্থান ধরে। যে কোনো ফেরত বডিকে বাকি বাইট না ভেবে গন্তব্যের রেসপন্স দেখুন:
| রেসপন্স | ব্যাখ্যা |
|---|---|
| Content-Range সহ 206 | ফেরত রেঞ্জটি প্রত্যাশিত পরের অংশ কি না দেখুন। |
| 200 | সার্ভার হয়তো Range উপেক্ষা করে সম্পূর্ণ রূপ পাঠিয়েছে। |
| 416 | চাওয়া রেঞ্জ পূরণ করা যায় না; ত্রুটির পৃষ্ঠা ফাইলে যোগ করবেন না। |
ভ্যালিডেটর ও If-Range পরিবর্তনশীল রিসোর্সের আলাদা সংস্করণ জোড়া এড়াতে সাহায্য করে। সম্পূর্ণ ফাইলে আস্থা রাখার আগে অ্যাপের রূপ-সংক্রান্ত নিয়ম মানুন।
Squid 6.13-এর range_offset_limit নির্ধারণ করে ক্যাশের জন্য কখন অবজেক্ট শুরু থেকে নেওয়া হবে, ক্লায়েন্ট রেঞ্জ চাইতে পারবে কি না তা নয়।
range_offset_limit 0শূন্য সীমা শুধু ক্যাশ ভরার জন্য শুরুর অংশ অতিরিক্ত আনা এড়ায়। অবজেক্ট ক্যাশ না করেও কাজের রেঞ্জ ফরওয়ার্ড করা সফল হতে পারে। সাধারণ HTTPS CONNECT-এ Range বিনিময় গন্তব্যের TLS-এর ভিতরে থাকে; সেই রেসপন্স পড়ুন, Squid-এর দৃশ্যমান অবজেক্ট ক্যাশ নীতিকে ভিতরের অনুরোধের নিয়ন্ত্রণ ভাববেন না।