Content-Range
응답 헤더 Ranges

개요

Content-Range는 부분 응답(206 Partial Content)에서 지금 보내는 바이트 구간이 전체 리소스의 어디에 해당하는지를 알려주는 헤더입니다. 클라이언트는 이 정보를 이용해 여러 조각을 올바른 위치에 이어 붙입니다.

형식은 단위(보통 bytes) 뒤에 시작-끝 오프셋과 전체 크기를 슬래시로 붙인 형태입니다.

자세히

bytes 200-1023/2048은 전체 2048바이트 중 200~1023바이트(0부터 시작, 끝 포함)를 담고 있다는 뜻입니다. 전체 크기를 모르면 총합 자리에 *를 씁니다. 이 헤더가 있는 206 응답의 Content-Length는 전체가 아니라 해당 구간의 길이(예: 824)입니다.

요청한 범위가 리소스 크기를 벗어나면 서버는 416 Range Not Satisfiable를 반환하며, 이때 Content-Range: bytes */2048처럼 전체 크기만 알려 클라이언트가 재요청하도록 돕습니다.

이 메커니즘은 대용량 다운로드 이어받기, 동영상 탐색(seek), 병렬 분할 다운로드의 기반입니다. 서버가 범위 요청을 지원함을 광고하려면 Accept-Ranges: bytes를 함께 내보냅니다.

문법

Content-Range: <unit> <start>-<end>/<total|*>

e.g. Content-Range: bytes 200-1023/2048

실무 참고

관련 헤더

관련 상태코드

스펙 근거