바이트 서빙

Byte serving

바이트 서빙(기타 이름: Range Requests,[1] Byte Range Serving, Page on demand[2])은 HTTP 프로토콜 1.1에서 서버로부터 클라이언트로 메시지의 일부만 전송하는 프로세스다.바이트 서빙은 HTTP 서버가 Accept-Rangees 응답 헤더를 사용하여 부분 요청을 서비스하려는 의지를 광고할 때 시작된다.그러면 클라이언트는 범위 요청 헤더를 사용하여 서버에서 파일의 특정 부분을 요청한다.범위가 유효하면 서버는 전송된 범위를 나열한 206 부분 내용 상태 코드와 내용 범위 헤더를 사용하여 클라이언트로 전송한다.범위가 유효하지 않을 경우, 서버는 416 Requested Range Not Delfable 상태 코드로 응답한다.[3]

바이트 서빙을 요청하는 클라이언트는 대용량 파일이 부분적으로만 배달되고 파일의 제한된 부분이 특정 범위에서 필요한 경우에 그렇게 할 수 있다.그러므로 바이트 서빙은 대역폭 최적화의 한 방법이다.[4]HTTP/1.0 표준에서 클라이언트는 전체 문서만 요청할 수 있었다.바이트 서비스를 허용함으로써 클라이언트는 자원의 어떤 부분을 요청하도록 선택할 수 있다.이 기능의 한 가지 장점은 대용량 미디어 파일을 요청하고 있을 때, 그리고 해당 미디어 파일의 형식이 적절할 때, 클라이언트가 관심 있는 것으로 알려진 파일의 일부만 요청할 수 있다는 것이다.이것은 비디오 파일을 제공하기 위해 필수적이다; 만약 서버에 이 기능이 없다면, 그 서버에서 호스팅되는 비디오는 클라이언트에 의해 전체 파일을 다운로드 받을 때까지 재생할 수 없을 수 있고, 파일 내에서 찾는 것은 비활성화될 수 있다.마찬가지로 PDF 파일은 현재 페이지를 렌더링하는 데 필요한 데이터만 요청하여 브라우저에서 수 기가바이트의 파일을 즉시 볼 수 있도록 바이트 서빙에 최적화될 수 있다.[5]

바이트 서빙은 또한 멀티호메드 클라이언트에 의해 여러 네트워크 인터페이스를 통해 동시에 자원을 다운로드 하는 데 사용될 수 있다.[6]이러한 유형의 애플리케이션 계층 링크 집계를 달성하기 위해, 다중 HTTP 세션을 설정하고 논리 파일 세그먼트를 서버에서 협업적으로 다운로드하여 클라이언트에서 재조립한다.이를 통해 여러 엔드투엔드 경로를 완전히 활용할 수 있으므로 다운로드 속도가 빨라진다.

Chunked Transfer-Encoding의 사용은 바이트를 지원하는 것이 아니라 HTTP/1.1 서버가 전체 자원을 전송하는 방법이지만 데이터의 여러 개별적인 부분(또는 청크)에 있다.[7]서버가 전체 응답에 얼마나 많은 데이터가 있을지 정확히 모를 때 자주 사용되며, 서버가 응답을 버퍼링하지 않고 바로 클라이언트에 데이터를 전송하기 시작하고 클라이언트에 전송하기 전에 정확한 길이를 결정할 수 있다.이렇게 하면 응답 완료 후 연결을 재사용할 수 있는 기능을 유지하면서 대기 시간이 향상되고 메모리 요구 사항이 감소한다.바이트 서빙과 청킹은 호환되며 다른 바이트와 함께 또는 없이 사용할 수 있다.이후 버전의 HTTP 프로토콜은 청크 전송 인코딩 사용이 대체 방법으로 대체되었음에도 불구하고 계속 바이트 서빙을 지원한다.[8]

참고 항목

참조

  1. ^ 아파치 위크.HTTP/1.1
  2. ^ 바이트 서빙: 무료 온라인 백과사전에서 바이트 서빙 정의
  3. ^ RFC 7233:하이퍼텍스트 전송 프로토콜(HTTP/1.1): 범위 요청
  4. ^ HTTP/1.0과 HTTP/1.1의 주요 차이점 "일반적인 예로는 클라이언트가 작은 부분만 필요로 할 때 서버가 전체(대규모) 자원을 보내는 것이다.HTTP/1.0에서 부분 객체를 요청할 수 있는 방법이 없음...HTTP/1.1 범위 요청은 클라이언트가 리소스의 일부를 요청할 수 있도록 허용한다."
  5. ^ PDF에서 빠른 웹 보기 사용
  6. ^ 다중 이기종 액세스 네트워크를 통한 온디맨드 비디오 플레이아웃 향상 D. Kaspar, K. R. Evensen, P. E. Engelstad, A. F. Hansen, P. Halvorsen, C에 의해.그리워즈인: IEEE 소비자 커뮤니케이션 및 네트워킹 컨퍼런스(CCNC), ISBN978-1-4244-5176-0, 2010
  7. ^ "HTTP Chunking". Archived from the original on 2012-02-08.
  8. ^ RFC 7540 섹션 8