Retomar descargas a través de Squid
Comproba as respostas Range e a identidade do obxecto antes de retomar un ficheiro e distingue a precarga de Squid do soporte básico de rangos.
Usa a continuación só se download.part pertence á mesma representación do obxecto que vas solicitar agora. O nome do ficheiro non o demostra: a orixe pode ter cambiado o contido desde o primeiro intento.
curl --proxy http://proxy.example:3128 --noproxy '' --connect-timeout 5 --max-time 60 -C - --output download.part http://files.example/test.binSubstitúe ambos os puntos de conexión por servizos que teñas permiso para usar. Para comparar un ficheiro público onde se permitan proxys públicos, colle un punto HTTP da lista de proxys HTTP. -C - usa o tamaño do ficheiro existente como punto de continuación. Inspecciona a resposta do destino en vez de considerar calquera corpo recibido como os bytes que faltan:
| Resposta | Interpretación |
|---|---|
| 206 con Content-Range | Comproba que o rango devolto sexa a continuación esperada. |
| 200 | O servidor pode ter ignorado Range e enviado a representación completa. |
| 416 | O rango solicitado non se pode satisfacer; non engadas a páxina de erro ao ficheiro. |
Os validadores e If-Range poden axudar a evitar unir versións dun recurso cambiante. Segue as regras de representación da aplicación antes de confiar no ficheiro completado.
En Squid 6.13, range_offset_limit controla cando se obtén un obxecto desde o principio para gardalo na caché, non se o cliente pode pedir un rango:
range_offset_limit 0Un límite cero evita obter un prefixo adicional só para encher a caché. Reenviar un rango útil sen gardar o obxecto na caché pode seguir sendo correcto. En CONNECT HTTPS normal, o intercambio Range está dentro do TLS do destino; le esa resposta en vez de tratar a política visible da caché de obxectos de Squid como control da petición interna.