3.5 일부분만 받는 레인지 리퀘스트

예전에는 대용량의 이미지와 데이터를 다운로드 하기가 힘들었다. 다운로드 중에 커넥션이 끊어지게 되면 처음부터 다시 다운로드를 해야 했기 때문이다.이런 문제를 해결하기 위해 일반적인 리줌이라는 기능이 필요하게 되었다. 리줌을 통해 이전에 다운로드를 한 곳에서 부터 다운로드를 재개할 수 있다. 이 기능을 실현하기위해 엔티티의 범위를 지정해서 다운로드를 할 필요가 있다. 이와같이 범위를 지정하여 리퀘스트 하는것을 레인지 리퀘스트라고 한다. 레인지 리퀘스트를 사용하면 전체 10000바이트 정도 크기의 리소스에서 5001~10000바이트의 범위만을 리퀘스트 할 수 있다.

레인지 리퀘스트를 할 때에는 Range 헤더필드를 사용해서 리소스의 바이트레인지르 지정한다.

  • 5001~10000 바이트

Range : bytes = 5001-10000

  • 5001 바이트이상

Range : bytes=5001-

  • 처음부터 3000바이트까지, 5000~7000바이트까지의 복수범위

Range : bytes = -3000, 5000-7000

레인지 리퀘스트에 대한 리스폰스는 상태코드 206 Partial Content 라는 리스폰스 메세지가 되돌아온다. 또한 복수범위 레인지 리퀘스트에 대한 리스폰스는 multilpart/byteranges로 리스폰스가 돌아온다. 서버가 레인지 리퀘스트에 지원하지 않는 경우에는 상태코드 200OK 리스폰스 메시지로 완전한 엔티티가 돌아온다.

Last updated