download.part가 지금 요청할 것과 같은 객체 표현에 속할 때만 이어받기를 사용하세요. 파일 이름만으로는 확인할 수 없습니다. 첫 시도 이후 원본 서버의 내용이 바뀌었을 수 있습니다.

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

두 엔드포인트를 모두 사용 권한이 있는 서비스로 바꾸세요. 공개 프록시가 허용되는 공개 파일 비교라면 HTTP 프록시 목록에서 HTTP 엔드포인트를 고르세요. -C -는 기존 파일 크기를 이어받기 시작점으로 씁니다. 반환된 본문을 무조건 빠진 바이트로 간주하지 말고 목적지 응답을 확인하세요.

응답해석
Content-Range가 있는 206반환된 범위가 예상한 이어받기 부분인지 확인하세요.
200서버가 Range를 무시하고 전체 표현을 보냈을 수 있습니다.
416요청 범위를 충족할 수 없습니다. 오류 페이지를 파일에 덧붙이지 마세요.

검증자와 If-Range는 바뀌는 리소스의 다른 버전을 이어 붙이는 일을 피하는 데 도움이 됩니다. 완성된 파일을 신뢰하기 전에 애플리케이션의 표현 처리 규칙을 따르세요.

Squid 6.13의 range_offset_limit은 캐싱을 위해 언제 객체를 처음부터 가져올지 제어하며, 클라이언트의 범위 요청 허용 여부를 정하지는 않습니다.

range_offset_limit 0

제한이 0이면 캐시를 채우려고 앞부분을 추가로 가져오지 않습니다. 객체를 캐싱하지 않아도 유용한 범위를 전달하는 일은 성공할 수 있습니다. 일반 HTTPS CONNECT에서는 Range 교환이 목적지 TLS 내부에 있으므로 그 목적지 응답을 읽으세요. Squid에서 보이는 객체 캐시 정책을 내부 요청의 제어로 간주해서는 안 됩니다.

관련 글