Skip to content

Latest commit

 

History

History
39 lines (22 loc) · 2.18 KB

3. HTTP 정보는 HTTP 메세지에 있다.md

File metadata and controls

39 lines (22 loc) · 2.18 KB

3장: HTTP 정보는 HTTP 메세지에 있다

스크린샷 2022-03-22 오후 11 07 22

HTTP 메세지는 크게 구분하면 메세지 헤더와 바디로 구성되어 있고, 최초에 나타나는 개행 문자(CR + LF)로 메세지 헤더와 메세지 바디를 구분한다.


인코딩으로 전송 효율을 높이다

HTTP로 데이터를 전송할 경우 그대로 전송할 수도 있지만 전송할 때에 인코딩을 실시함으로써 전송 효율을 높일 수 있다. 전송할 때 인코딩을 하면 다량의 엑세스를 효율 좋게 처리할 수 있다. 단지, 컴퓨터에서 인코딩 처리를 해야 하기 때문에 CPU 등의 리소스는 보다 많이 소비하게 된다.


여러 데이터를 보내는 멀티파트

메일의 경우에는 메일의 본문이나 복수의 첨부 파일을 붙여서 함께 보낼 수 있다. 이것은 MINE 타입이라 하며, 다목적으로 불리는 메일로 텍스트나 영상, 이미지와 같은 여러 다른 데이터를 다루기 위한 기능을 사용하고 있다.

HTTP도 멀티파트에 대응하고 있어 하나의 메세지 바디 내부에 엔티티를 여러 개 포함시켜 보낼 수 있다. 주로 이미지나 텍스트 파일 등을 업로드할 때 사용되고 있다.

multipart/form-data: 폼으로부터 파일 업로드에 사용된다.

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

요즘처럼 사용자가 광대역의 네트워크를 이용할 수 있기 전에는 대용량의 이미지와 데이터를 다운로드하기가 힘들었다. 다운로드 하다가 중간 커넥션이 끊어지게 되면 다시 다운로드를 해야 했기 때문이다. 이러한 문제를 해결하기 위해서 일반적인 리줌(Resume) 이라는 기능이 필요하게 되었다.

Range: bytes = 5001-10000 (5001 ~ 10000 바이트)
Range: bytes = 5001 ~ (5001 바이트 이상)

위와 같이 HTTP Request Header Rage 필드를 사용해서 리소스의 바이트 레인지를 지정한다.

범위를 지정하여 요청을 보게 된다.