Reia doar când download.part aparține aceleiași reprezentări a obiectului pe care o vei cere acum. Numele fișierului singur nu confirmă asta: originea poate să fi schimbat conținutul de la prima încercare.

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

Înlocuiește ambele endpointuri cu servicii pe care ai dreptul să le folosești. Pentru o comparație de fișier public unde proxy-urile publice sunt permise, alege un endpoint HTTP din lista de proxy-uri HTTP. -C - folosește dimensiunea fișierului existent drept punct de reluare. Inspectează răspunsul destinației în loc să consideri orice corp primit drept octeții lipsă:

RăspunsInterpretare
206 cu Content-RangeVerifică dacă intervalul returnat este continuarea așteptată.
200Serverul poate să fi ignorat Range și să fi trimis reprezentarea completă.
416Intervalul cerut nu poate fi satisfăcut; nu adăuga pagina de eroare la fișier.

Validatorii și If-Range pot evita unirea versiunilor unei resurse care se schimbă. Urmează regulile de reprezentare ale aplicației înainte să ai încredere în fișierul final.

În Squid 6.13, range_offset_limit stabilește când un obiect este preluat de la început pentru cache, nu dacă un client poate cere un interval:

range_offset_limit 0

Limita zero evită preluarea suplimentară a începutului doar pentru a umple cache-ul. Transmiterea unui interval util fără a pune obiectul în cache poate totuși reuși. Pentru HTTPS CONNECT obișnuit, schimbul Range este în interiorul TLS al destinației; citește acel răspuns în loc să tratezi politica vizibilă a cache-ului de obiecte Squid drept control asupra cererii interne.

Articole similare