Bruk gjenopptakelse bare når download.part tilhører samme objektrepresentasjon som du skal be om nå. Et filnavn alene fastslår ikke det: opprinnelsen kan ha endret innholdet siden første forsøk.

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

Bytt ut begge endepunktene med tjenester du har lov til å bruke. For en offentlig filsammenligning der offentlige proxyer er tillatt, velg et HTTP-endepunkt fra listen over HTTP-proxyer. -C - bruker størrelsen på den eksisterende filen som gjenopptakelsespunkt. Undersøk målets svar i stedet for å betrakte en hvilken som helst svarkropp som de manglende bytene:

SvarTolkning
206 med Content-RangeKontroller at det returnerte området er den forventede fortsettelsen.
200Serveren kan ha ignorert Range og sendt hele representasjonen.
416Det forespurte området kan ikke oppfylles; ikke legg feilsiden til filen.

Validatorer og If-Range kan bidra til å unngå å sette sammen ulike versjoner av en ressurs som endrer seg. Følg programmets representasjonsregler før du stoler på den ferdige filen.

I Squid 6.13 styrer range_offset_limit når et objekt hentes fra begynnelsen for mellomlagring, ikke om en klient får be om et område:

range_offset_limit 0

En nullgrense unngår ekstra henting av begynnelsen bare for å fylle hurtigbufferen. Å videresende et nyttig område uten å mellomlagre objektet kan fortsatt lykkes. Ved vanlig HTTPS-CONNECT ligger Range-utvekslingen inne i målets TLS; les det svaret i stedet for å behandle Squids synlige objektbufferpolicy som styring av den indre forespørselen.

Relaterte artikler