Atsākšanu izmantojiet tikai tad, ja download.part pieder tai pašai objekta reprezentācijai, ko pieprasīsiet tagad. Faila nosaukums vien to neapstiprina: sākotnējais serveris kopš pirmā mēģinājuma var būt mainījis saturu.

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

Aizstājiet abus galapunktus ar pakalpojumiem, ko drīkstat izmantot. Publiska faila salīdzināšanai, kur publiski starpniekserveri ir atļauti, izvēlieties HTTP punktu no HTTP starpniekserveru saraksta. -C - izmanto esošā faila lielumu kā atsākšanas vietu. Pārbaudiet galamērķa atbildi, nevis uzskatiet jebkuru saņemtu saturu par trūkstošajiem baitiem:

AtbildeNozīme
206 ar Content-RangePārbaudiet, vai atgrieztais diapazons ir paredzētais turpinājums.
200Serveris var būt ignorējis Range un nosūtījis pilnu reprezentāciju.
416Pieprasīto diapazonu nevar izpildīt; nepievienojiet kļūdas lapu failam.

Validatori un If-Range var palīdzēt izvairīties no mainīga resursa versiju salīmēšanas. Pirms uzticaties gatavajam failam, ievērojiet lietotnes reprezentācijas noteikumus.

Squid 6.13 range_offset_limit nosaka, kad objekts kešošanai tiek iegūts no sākuma, nevis vai klients drīkst pieprasīt diapazonu:

range_offset_limit 0

Nulles robeža novērš papildu sākumdaļas iegūšanu tikai keša aizpildīšanai. Noderīga diapazona pārsūtīšana bez objekta kešošanas joprojām var būt veiksmīga. Parastā HTTPS CONNECT gadījumā Range apmaiņa atrodas galamērķa TLS iekšienē; lasiet šo atbildi, nevis uzskatiet redzamo Squid objektu keša politiku par iekšējā pieprasījuma vadību.

Saistītie raksti