206 Partial Content: 일부 콘텐츠가 반환되었음을 나타내는 HTTP 상태 코드

スポンサーリンク
スポンサーリンク

206 Partial Content에 대하여

206 Partial Content의 개요

리소스의 일부 반환HTTP 상태 코드

206 Partial Content

개요 206 Partial Content 상태 코드는 서버가 클라이언트 요청에 따라 리소스의 일부만 반환할 때 사용됩니다. 주로 Range 헤더를 포함한 범위 요청에 대한 응답으로 사용되며, 부분적인 데이터 전송을 가능하게 합니다.

의미 클라이언트의 요청이 성공적으로 처리되었으며, 지정된 범위의 콘텐츠가 반환되었습니다.

206 Partial Content이 반환되는 경우

  • Range 헤더를 사용하여 리소스의 특정 범위를 요청할 때
  • 대규모 리소스를 분할 다운로드할 때
  • 스트리밍 서비스나 파일 재생에서 부분 데이터가 필요할 때

206 Partial Content의 예시

파일의 부분 다운로드

GET /large-file.zip HTTP/1.1  
Host: example.com  
Range: bytes=0-1023  

응답 예시:

HTTP/1.1 206 Partial Content  
Content-Range: bytes 0-1023/1048576  
Content-Type: application/zip  

[binary data for the first 1024 bytes]

설명: 이 예시는 클라이언트가 Range 헤더를 사용하여 요청을 전송하고, 서버가 요청된 범위의 데이터를 반환한 경우를 보여줍니다(이 경우 처음 1024바이트). 이 방법은 대용량 파일을 부분적으로 다운로드하는 데 효과적입니다.

동영상 스트리밍 재생

GET /video.mp4 HTTP/1.1  
Host: example.com  
Range: bytes=1048576-2097151  

응답 예시:

HTTP/1.1 206 Partial Content  
Content-Range: bytes 1048576-2097151/4194304  
Content-Type: video/mp4  

[binary data for the requested byte range]

설명: 이 예시는 동영상 플레이어가 Range 헤더를 사용하여 특정 범위의 데이터를 요청하고, 서버가 요청된 부분 동영상 데이터를 반환하는 경우를 보여줍니다. 이 메커니즘은 시크(seek) 작업을 원활하게 만듭니다.

주의 사항

206 Partial Content 상태 코드를 사용할 때 주의해야 할 점:

  • 적절한 Content-Range 헤더 설정
    응답에는 반드시 Content-Range 헤더를 포함하여 반환된 데이터 범위와 리소스 전체 크기를 명시해야 합니다.
  • 범위 유효성 확인
    클라이언트의 요청이 유효하지 않은 범위(예: 리소스 크기를 초과하는 범위)를 지정한 경우 서버는 416 Range Not Satisfiable 상태 코드를 반환해야 합니다.

관련 HTTP 상태 코드와의 비교

206 Partial Content와 관련된 상태 코드에 대한 설명입니다:

  • 200 OK: 요청이 성공적이며, 리소스 전체를 반환할 때 사용됩니다.
  • 416 Range Not Satisfiable: 클라이언트가 유효하지 않은 범위를 요청한 경우 반환되는 오류 코드입니다.

이 차이를 이해하면 206 상태 코드를 적절히 사용할 수 있습니다.