Downloads hervatten via Squid
Controleer Range-antwoorden en objectidentiteit voordat je een bestand hervat, en onderscheid Squids vooraf ophalen van gewone Range-ondersteuning.
Hervat alleen als download.part bij dezelfde objectrepresentatie hoort die je nu gaat opvragen. Een bestandsnaam bewijst dat niet: de oorsprong kan de inhoud sinds de eerste poging hebben gewijzigd.
curl --proxy http://proxy.example:3128 --noproxy '' --connect-timeout 5 --max-time 60 -C - --output download.part http://files.example/test.binVervang beide endpoints door diensten die je mag gebruiken. Voor een openbare bestandsvergelijking waarbij openbare proxy’s zijn toegestaan, kies je een HTTP-endpoint uit de HTTP-proxylijst. -C - gebruikt de grootte van het bestaande bestand als hervattingspunt. Bekijk het antwoord van de bestemming in plaats van elke ontvangen body als ontbrekende bytes te behandelen:
| Antwoord | Betekenis |
|---|---|
| 206 met Content-Range | Controleer of het teruggegeven bereik de verwachte voortzetting is. |
| 200 | De server heeft Range mogelijk genegeerd en de volledige representatie gestuurd. |
| 416 | Het gevraagde bereik kan niet worden geleverd; voeg de foutpagina niet toe aan het bestand. |
Validators en If-Range kunnen voorkomen dat versies van een veranderende bron aan elkaar worden geplakt. Volg de representatieregels van de toepassing voordat je het voltooide bestand vertrouwt.
In Squid 6.13 bepaalt range_offset_limit wanneer een object vanaf het begin voor caching wordt opgehaald, niet of een client een bereik mag aanvragen:
range_offset_limit 0Een limiet van nul voorkomt extra ophalen van het begin alleen om de cache te vullen. Een bruikbaar bereik doorsturen zonder het object te cachen kan nog steeds slagen. Bij gewone HTTPS-CONNECT zit de Range-uitwisseling binnen TLS naar de bestemming; lees dat antwoord in plaats van Squids zichtbare objectcachebeleid als controle over het interne verzoek te behandelen.