استخدم الاستئناف فقط عندما يكون 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

يمنع الحد الصفري جلب بداية إضافية لمجرد ملء الذاكرة المؤقتة. قد ينجح تمرير نطاق مفيد دون تخزين الكائن. في CONNECT HTTPS المعتاد، يجري تبادل Range داخل TLS الخاص بالوجهة؛ اقرأ تلك الاستجابة بدل اعتبار سياسة تخزين الكائنات المرئية في Squid تحكمًا في الطلب الداخلي.

مقالات ذات صلة