3.1 HTTP 메시지

HTTP 에서 교환하는 정보를 HTTP 메시지라고 부른다. HTTP 메시지는 복수행(개행 문자는 CR+LF)의 데이터로 구성된 텍스트 문자열이다. HTTP 메시지는 메시지 헤더와 메시지 바디로 구분되어 있고 개행 문자로 헤더와 바디를 구분한다. 바디는 값이 없을 수도 있다.

3.2 리퀘스트 메시지와 리스폰스 메시지의 구조

Untitled

https://developer.mozilla.org/ko/docs/Web/HTTP/Messages

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

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

3.3.1 메시지 바디와 엔티티 바디의 차이

https://stackoverflow.com/questions/2273837/which-one-is-the-message-and-which-one-the-entity-in-http-terminology

HTTP 메시지 바디의 역할은 리퀘스트와 리스폰스에 관한 엔티티 바디를 운반하는 것이다. 기본적으로 메시지 바디와 엔티티 바디는 같지만 전송 코딩이 적용된 경우에는 엔티티 바디의 내용이 바뀌기 때문에 메시지 바디와 달라진다.

3.3.2 압축해서 보내는 콘텐츠 코딩

메일에 파일을 첨부해서 보내는 경우 용량을 줄이기 위해서 파일을 zip 으로 압축하고 보내기도 한다. HTTP 에는 이와 같이 메시지를 압축하는 과정을 콘텐츠 코딩(Content Codings) 이라고 부른다.

콘텐츠 코딩은 엔티티에 적용하는 인코딩을 가리키는데 엔티티 정보를 유지한채로 압축한다. 콘텐츠 코딩된 엔티티는 수신한 클라이언트 측에서 디코딩한다.