Brug kun genoptagelse, når download.part hører til samme objektrepræsentation, som du vil anmode om nu. Et filnavn alene beviser det ikke: oprindelsen kan have ændret indholdet siden første forsøg.

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

Erstat begge endepunkter med tjenester, du har lov til at bruge. Til sammenligning af en offentlig fil, hvor offentlige proxyer er tilladt, kan du vælge et HTTP-endepunkt fra listen over HTTP-proxyer. -C - bruger størrelsen på den eksisterende fil som genoptagelsespunkt. Undersøg destinationens svar i stedet for at behandle enhver modtaget svarkrop som de manglende bytes:

SvarFortolkning
206 med Content-RangeKontroller, at det returnerede interval er den forventede fortsættelse.
200Serveren kan have ignoreret Range og sendt hele repræsentationen.
416Det ønskede interval kan ikke opfyldes; tilføj ikke fejlsiden til filen.

Validatorer og If-Range kan hjælpe med at undgå at sammenføje forskellige versioner af en skiftende ressource. Følg programmets repræsentationsregler, før du stoler på den færdige fil.

I Squid 6.13 styrer range_offset_limit, hvornår et objekt hentes fra begyndelsen til caching, ikke om en klient må anmode om et interval:

range_offset_limit 0

En nulgrænse undgår ekstra hentning af begyndelsen alene for at fylde cachen. Videresendelse af et nyttigt interval uden caching af objektet kan stadig lykkes. Ved almindelig HTTPS-CONNECT er Range-udvekslingen inde i destinationens TLS; læs det svar i stedet for at betragte Squids synlige objektcachepolitik som kontrol over den indre anmodning.

Relaterede artikler