[Network] 메시지 바디 vs. 엔티티 바디

2024. 7. 1. 23:53・CS/Network

엔티티 바디(Entity Body)

  • 전송하려는 실제 데이터(payload)
  • JSON 데이터, 텍스트, 이미지 등 모든 형태의 데이터 가능

메시지 바디(Message Body)

  • HTTP 프로토콜을 통해 전송되는 데이터
  • 엔티티 바디를 포함 함
  • 엔티티 바디가 인코딩(압축 등)될 수 있음

JSON 데이터 전송 예시

POST /submit HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 27

{
  "name": "John",
  "age": 30
}
  • 엔티티 바디: {"name": "John", "age": 30} (전송하려는 실제 데이터)
  • 메시지 바디: 엔티티 바디가 포함된 HTTP 메시지의 일부분. 이 경우에는 인코딩되지 않았으므로 엔티티 바디와 동일

 

단순 텍스트 전송 예시

HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 13

Hello, world!
  • 엔티티 바디: "Hello, world!" (전송하려는 실제 텍스트 데이터)
  • 메시지 바디: 엔티티 바디가 포함된 HTTP 메시지의 일부분. 이 경우에는 인코딩되지 않았으므로 엔티티 바디와 동일

 

압축된 텍스트 전송 예시

HTTP/1.1 200 OK
Content-Type: text/plain
Content-Encoding: gzip
Content-Length: 34

<압축된 데이터>
  • 엔티티 바디: "Hello, world!" (압축되지 않은 원본 텍스트 데이터)
  • 메시지 바디: gzip으로 압축된 형태의 데이터. 이는 엔티티 바디를 압축한 결과

 

결론

  1. 엔티티 바디는 항상 전송하려는 '원본' 데이터를 의미
  2. 메시지 바디는 HTTP 메시지를 통해 실제로 전송되는 데이터
    • 인코딩이 적용되지 않으면 메시지 바디와 엔티티 바디는 동일
    • 인코딩이 적용되면 메시지 바디는 엔티티 바디를 변환(예: 압축)한 결과

 

따라서, JSON 예시에서 메시지 바디는 인코딩되지 않은 상태의 엔티티 바디와 동일하게 {"name": "John", "age": 30}이다. 텍스트 예시에서는 엔티티 바디가 "Hello, world!"이고, 메시지 바디도 동일하다. 하지만, 압축이 적용된 경우 메시지 바디는 "Hello, world!"를 압축한 데이터로 바뀐다.

저작자표시 비영리 (새창열림)

'CS > Network' 카테고리의 다른 글

[Network] HTTP와 연계하는 웹 서버  (0) 2024.07.09
[Network] HTTP 상태코드  (0) 2024.07.02
[Network] HTTP 정보와 HTTP 메시지  (0) 2024.07.02
[Network] 간단한 프로토콜 HTTP  (0) 2024.06.23
[Network] 웹과 HTTP  (0) 2024.06.18
'CS/Network' 카테고리의 다른 글
  • [Network] HTTP 상태코드
  • [Network] HTTP 정보와 HTTP 메시지
  • [Network] 간단한 프로토콜 HTTP
  • [Network] 웹과 HTTP
dev.hyejin
dev.hyejin
  • dev.hyejin
    혜진의 개발자 성장블로그
    dev.hyejin
  • 전체
    오늘
    어제
    • 분류 전체보기 (89)
      • 2024 데브캠프 (2)
      • 회고 (1)
      • 이슈해결 (3)
      • 기초학습 (13)
      • Frontend (20)
        • JavaScript (3)
        • Git, GitHub (3)
        • HTML, CSS (14)
      • Backend (8)
        • Database (4)
        • Java (4)
      • CS (16)
        • Network (10)
        • Algorithm (6)
      • Eng (16)
      • Tips (5)
  • 인기 글

  • 태그

    절대경로
    상대경로
    객체
    box-sizing
    시간복잡도
    border-box
    GitHub
    점근성능
    ER모델
    런타임
  • hELLO· Designed By정상우.v4.10.3
dev.hyejin
[Network] 메시지 바디 vs. 엔티티 바디
상단으로

티스토리툴바