Fes servir la represa només si download.part pertany a la mateixa representació de l’objecte que demanaràs ara. El nom del fitxer no ho demostra: l’origen pot haver canviat el contingut des del primer intent.

curl --proxy http://proxy.example:3128 --noproxy '' --connect-timeout 5 --max-time 60 -C - --output download.part http://files.example/test.bin

Substitueix tots dos punts de connexió per serveis que tinguis permís per utilitzar. Per comparar un fitxer públic on es permetin proxys públics, tria un punt HTTP de la llista de proxys HTTP. -C - fa servir la mida del fitxer existent com a punt de represa. Inspecciona la resposta de la destinació en lloc de considerar qualsevol cos rebut com els bytes que falten:

RespostaInterpretació
206 amb Content-RangeComprova que el rang retornat sigui la continuació esperada.
200El servidor pot haver ignorat Range i enviat la representació completa.
416El rang sol·licitat no es pot satisfer; no afegeixis la pàgina d’error al fitxer.

Els validadors i If-Range poden ajudar a evitar unir versions d’un recurs canviant. Segueix les regles de representació de l’aplicació abans de confiar en el fitxer completat.

A Squid 6.13, range_offset_limit controla quan es recupera un objecte des del principi per desar-lo a la memòria cau, no si el client pot demanar un rang:

range_offset_limit 0

Un límit zero evita recuperar un prefix addicional només per omplir la memòria cau. Reenviar un rang útil sense desar l’objecte a la memòria cau pot continuar sent correcte. En CONNECT HTTPS normal, l’intercanvi Range és dins del TLS de la destinació; llegeix aquella resposta en lloc de tractar la política visible de memòria cau d’objectes de Squid com a control de la petició interna.

Articles relacionats