내보내기(0) 인쇄
모두 확장

Blob 서비스 작업의 범위 헤더 지정

업데이트 날짜: 2013년 11월

일부 Blob 서비스 GET 작업에서는 표준 HTTP Range 헤더를 사용할 수 있습니다. Range 헤더 크기는 .NET 클라이언트 라이브러리를 포함하여 많은 HTTP 클라이언트에서 32비트 정수로 제한되므로, 해당 값이 최대 4GB로 제한됩니다. 블록 blob와 페이지 blob 모두 크기가 4GB보다 클 수 있으므로 Blob 서비스에서는 HTTP x-ms-range 헤더를 사용하는 모든 작업에 대해 사용자 지정 범위 헤더 Range를 사용할 수 있습니다.

Microsoft Silverlight 라이브러리를 포함한 일부 HTTP 클라이언트에서는 Range 헤더에 대한 액세스가 모두 제한됩니다. x-ms-range 헤더는 이러한 제한을 우회하는 데 사용될 수 있습니다.

x-ms-range 헤더가 요청에 지정된 경우, 서비스에서 x-ms-range로 지정된 범위가 사용되고, 그렇지 않으면 Range 헤더로 지정된 범위가 사용됩니다.

note참고
Microsoft Azure 저장소 클라이언트 라이브러리는 사용자가 PutPageProperties 개체의 Range 속성을 설정할 때 요청에 대한 적절한 범위 헤더 설정을 자동으로 처리합니다.

Blob 서비스에서는 Rangex-ms-range 헤더에 대한 2바이트 범위를 사용할 수 있습니다. 바이트 범위는 다음 헤더 형식 중 하나를 따라야 합니다.

  • 2011-08-18 버전 이상을 사용하는 요청의 경우 bytes=startByte-

  • 모든 버전(2009-04-14부터 최신 버전까지)을 사용하는 요청의 경우 bytes=startByte-endByte

첫 번째 형식인 bytes=startByte-는 2011-08-18 버전 이상을 사용하는 요청 또는 SDK 1.6 이상의 저장소 에뮬레이터 서비스의 경우에만 사용할 수 있습니다. 이 범위는 오프셋 startByte부터 blob 끝까지의 바이트를 반환합니다. 예를 들어 blob의 처음 256바이트 이후의 모든 바이트를 포함하는 범위를 지정하려면 다음 헤더 중 하나에 전달할 수 있습니다.

  • Range: bytes=255-

  • x-ms-range: bytes=255-

응답의 Content-Length 헤더는 오프셋부터 blob 끝까지의 바이트 수와 동일합니다. 길이가 1,024바이트인 blob에 대해 위의 예제 범위를 사용할 경우 Content-Length는 756가 됩니다.

오프셋이 유효하고 blob의 총 길이를 초과하지 않으면 이 요청에서 상태 코드 206(부분 콘텐츠)이 반환됩니다. 오프셋이 잘못되었고 blob의 총 길이를 초과할 경우에는 이 요청에서 상태 코드 416(요청한 범위가 적절하지 않음)이 반환됩니다.

두 번째 형식인 bytes=startByte-endByte는 모든 버전(2009-04-14부터 최신 버전까지)을 사용하는 요청 및 모든 버전의 저장소 에뮬레이터 서비스에서 사용할 수 있습니다. 이 범위는 오프셋 startByte부터 endByte까지의 바이트를 반환합니다. 예를 들어 blob의 처음 512바이트를 포함하는 범위를 지정하려면 다음 헤더 중 하나에 전달합니다.

  • Range: bytes=0-511

  • x-ms-range: bytes=0-511

응답의 Content-Length 헤더는 각 오프셋 사이의 바이트 수와 동일합니다. 길이가 1,024바이트인 blob에 대해 위의 예제 범위를 사용할 경우 Content-Length는 512가 됩니다.

오프셋이 유효하고 blob의 총 길이를 초과하지 않으면 이 요청에서 상태 코드 206(부분 콘텐츠)이 반환됩니다. 오프셋이 잘못되었고 blob의 총 길이를 초과할 경우에는 이 요청에서 상태 코드 416(요청한 범위가 적절하지 않음)이 반환됩니다.

참고 항목

표시:
© 2014 Microsoft