에이치티티피 바이트 범위는 마지막 위치를 포함합니다
에이치티티피 범위(HTTP Range) 요청의 bytes=0-99는 위치 0부터 위치 99까지를 뜻합니다. 0을 첫 번째 위치로 세기 때문에 전송량은 99가 아니라 100바이트입니다. 계산은 마지막 위치-첫 위치+1입니다.
RFC 9110의 예에서도 bytes=0-499는 처음 500바이트를 요청합니다. 배열의 끝 위치를 포함하지 않는 프로그래밍 언어 습관을 그대로 적용하면 한 바이트가 빠지는 경계 오류가 생깁니다.
파일 끝을 넘는 요청은 실제 표현 크기와 함께 읽습니다
1,000바이트 파일의 마지막 위치는 999입니다. bytes=950-1100을 요청해도 존재하는 위치는 950부터 999까지여서 이 단순 계산에서는 50바이트만 남습니다.
시작 위치가 1,000이라면 파일 안에 첫 바이트가 없습니다. 서버는 만족할 수 없는 범위로 처리할 수 있습니다. 활동에서 파일 크기를 바꾸어 같은 요청이 유효한지 확인해 보세요.
범위가 맞아도 서버가 반드시 부분 응답을 보내지는 않습니다
서버는 Range 헤더를 무시하고 전체 표현을 보낼 수 있습니다. 전송 전에 Accept-Ranges 같은 지원 정보와 실제 응답 상태, Content-Range를 확인해야 합니다.
또한 범위는 저장 파일 자체가 아니라 선택된 표현의 바이트를 대상으로 합니다. 압축이나 변환이 적용되면 사용자가 생각한 원본 파일 위치와 다를 수 있습니다.

