프론트엔드/HTTP

HTTP 정보는 HTTP 메시지에 있다.

테오구 2022. 6. 14. 19:53
728x90

HTTP에서 교환하는 정보는 HTTP 메시지라고 불린다.

HTTP 메시지는 크게 구분하면 메시지 헤더와 메시지 바디로 구분합니다.

메시지 헤더: 서버와 클라이언트가 꼭 처리해야 하는 리퀘스트와 리스폰스 내용과 속성등

메시지 바디: 꼭 전송되는 데이터 그 자체

메시지 헤더

개방 문자
메시지 바디

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

리퀘스트 라인 상태 라인

리퀘스트 헤더 필드 리스폰스 헤더 필드
일반 헤더 필드 일반 헤더 필드
엔티티 헤더 필드 엔티티 헤더 필드
그외 그외

(좌)리퀘스트 메시지의 메시지 헤더 (우)리스폰스 메시지의 메시지 헤더

리퀘스트 라인

리퀘스트에 사용하는 메소드와 리퀘스트 URI와 사용하는HTTP 버전이 포함됩니다.

상태 라인

리스폰스 결과를 나타내는 상태 코드와 설명, 사용하는 HTTP 버전이 포함됩니다.

헤더 필드

리퀘스트와 리스폰스의 여러 조건과 속성등을 나타내는 각종 헤더 필드가 포함

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

HTTP로 데이터를 전송할 경우 그대로 전송할 수도 있지만 전송할 때에 인코딩을 실시함으로써 전송 효율을 높일 수 있습니다.

단 인코딩을 해야하기 때문에 CPU등의 리소스는 보다 많이 소비하게 됩니다.

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

  • 메시지
    • HTTP 통신의 기본 단위로 옥텟 시퀀스로 구성되고 통신을 통해서 전송됩니다.
  • 엔티티
    • 리퀘스트랑 리스폰스의 페이로드로 전송되는 정보로 엔티티 헤더 필드와 엔티티 바디로 구성됩니다.

HTTP 메시지 바디의 역할은 리퀘스트랑 리스폰스에 관한 엔티티 바디를 운반하는 일입니다.

기본적으로 메시지 바디와 엔티티 바디는 같지만 전송 코딩이 적용된 경우 바디의 내용이 변화하기 때문에 메시지 바디와 달라딥니다.

728x90

'프론트엔드 > HTTP' 카테고리의 다른 글

http status code  (0) 2022.06.14
http status code  (0) 2021.12.03
axios  (0) 2021.11.22
HTTP 요청 매서드  (0) 2021.10.25
Message States Server REST API  (0) 2021.10.19