
목차
- Spring Boot - StreamingResponseBody
- Spring Boot - ResourceRegion
- Spring Boot - 파일 다운로드 서비스 구현하기
- Spring Boot - 파일 업로드 서비스 구현하기
- Spring Boot - Resource 추상화
- Spring Boot - MultipartFile 에서 발생하는 예외 처리
- Spring Boot - MultipartFile 를 이용한 파일 업로드
- Spring Boot - Part 객체를 이용한 파일 업로드
Http Range Request
서버에서 클라이언트로 HTTP 메시지 중 일부만 전송할 수 있도록 허용하는 기술
- 대용량의 미디어 파일, 파일 전송 중 일시 정지 및 다시 시작이 가능하다
- Client 가
RangeHeader 를 통해 특정 리소스의 일부를 요청하면 서버가 그 부분만 전송하는 방식으로 동작한다. - Server 가 Range Request 를 지원하면 Response Http Header 에
Content-Range가 존재한다. - HTTP Range 요청에 대한 정상 응답 코드로는
PARTIAL_CONTENT(206)을 반환한다.- Range 요청에 대한 응답 값이 Body 에 담겨져 있다.
Spring Boot - ResourceRegion
HttpRange는 Range Header 정보를 담든 객체다. Request Header 로부터 정보를 얻어올 수 있다.ResourceRegion는 전달 받은 Resource 객체 로부터 Range 범위 만큼 나눠 가져오는 객체다.
|
서버에서 전송해주는 Resource Size 가 1 MB(1000000) 로 잡혀 있어 1 MB 씩 부분적으로 응답받는 것을 확인할 수 있다.

Range Request Header
- Request Header 를 살펴보면 Range Header 가 존재하는 것을 확인할 수 있고
- Range Header 값에는 Range 의 시작 값을 Server 로 보낸다.

Range Response Header
- Response Header 를 살펴 보면 Content-Range Header 가 존재하는 것을 확인할 수 있다.
- Content-Range Header 에는 전체 Resource 크기에서 응답한 Range 정보가 담겨 있다.
