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-тің көрінетін объект кэш саясатын ішкі сұрау басқаруы деп санамай, сол жауапты оқыңыз.