Csak akkor folytasd a letöltést, ha a download.part ugyanahhoz az objektumreprezentációhoz tartozik, amelyet most kérsz. A fájlnév önmagában nem igazolja ezt: a forrás az első próbálkozás óta megváltoztathatta a tartalmat.

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

Cseréld le mindkét végpontot olyan szolgáltatásra, amelyet jogosult vagy használni. Nyilvános fájl összehasonlításához, ahol nyilvános proxy engedélyezett, válassz HTTP-végpontot a HTTP-proxylistából. A -C - a meglévő fájl méretét használja folytatási pontként. Vizsgáld meg a cél válaszát, ne tekints minden visszakapott törzset hiányzó bájtnak:

VálaszÉrtelmezés
206 Content-Range fejléccelEllenőrizd, hogy a kapott tartomány a várt folytatás-e.
200A szerver figyelmen kívül hagyhatta a Range-et, és a teljes reprezentációt küldhette.
416A kért tartomány nem teljesíthető; ne fűzd hozzá a hibaoldalt a fájlhoz.

A validátorok és a If-Range segíthetnek elkerülni egy változó erőforrás eltérő verzióinak összeillesztését. A kész fájl megbízhatónak tekintése előtt kövesd az alkalmazás reprezentációs szabályait.

A Squid 6.13 range_offset_limit beállítása azt szabályozza, mikor tölt le az elejétől egy objektumot gyorsítótárazáshoz, nem azt, kérhet-e tartományt a kliens:

range_offset_limit 0

A nulla limit elkerüli az elejének felesleges letöltését csak a gyorsítótár feltöltéséért. Hasznos tartomány továbbítása az objektum gyorsítótárazása nélkül is sikeres lehet. Normál HTTPS CONNECT esetén a Range-adatcsere a cél TLS-én belül történik; ezt a választ olvasd, ne kezeld a Squid látható objektumgyorsítótár-szabályát a belső kérés vezérléseként.

Kapcsolódó cikkek