[웹 기초] 7. HTTP 메시지는 왜 Header와 Body로 나뉘는가

2026. 3. 29. 12:50·Web/Web Basics

 

HTTP로 통신한다는 말은 결국
브라우저와 서버가 HTTP 메시지를 주고받는다는 뜻이다.

이 메시지는 크게 두 덩어리로 구성된다.

  • Header(헤더)
  • Body(바디)

이 구조는 request에서도 같고 response에서도 같다.
즉, 요청 메시지도 header/body가 있고, 응답 메시지도 header/body가 있다.

 

 

Header는 “설명서(메타 정보)”이다

Header는 메시지의 부가 정보가 들어가는 영역이다.
쉽게 말하면 “이 메시지를 어떻게 해석해야 하는지”에 대한 설명서이다.

예를 들어 이런 정보들이 header에 들어간다.

  • 요청 방식: GET인지 POST인지
  • 어떤 주소로 요청했는지
  • 브라우저 정보(어떤 브라우저인지)
  • 쿠키 정보
  • 응답이라면 상태 코드(200, 404 등)
  • 응답 데이터의 타입(HTML인지 JSON인지)
  • 캐시 관련 정보
  • 인코딩 관련 정보

즉 header는 “내용 자체”가 아니라
그 내용을 해석하기 위한 조건과 배경 정보를 담는다.

이걸 비유하면 이렇게 된다.

  • header = 편지봉투(주소, 규칙, 안내문)
  • body = 편지 내용(진짜 전달하고 싶은 내용)

 

 

Body는 “실제 데이터(내용물)”이다

Body는 실제로 전달하려는 데이터가 들어가는 영역이다.

request의 body에는 보통 이런 것들이 들어간다.

  • 폼에서 전송한 값(POST form data)
  • JSON 형태의 데이터(API 요청)

response의 body에는 보통 이런 것들이 들어간다.

  • HTML 문서
  • JSON 데이터(API 응답)
  • 파일 데이터(다운로드 응답)

즉 body는 말 그대로 “내용물”이다.

 

 

request/response에서 header/body는 이렇게 쓰인다

Header와 Body를 구분하는 이유는 명확하다.

  • 전달해야 할 데이터는 body에 담는다
  • 그 데이터를 어떤 규칙으로 해석해야 하는지는 header에 담는다

예를 들어 POST로 로그인 폼을 전송하는 상황을 생각해보면,

  • body에는 email, password 같은 값이 들어간다
  • header에는 “이 요청은 POST이고, 어떤 형식으로 데이터가 들어왔다” 같은 정보가 들어간다

서버는 header를 보고 요청을 해석하는 방식부터 결정하고,
body를 읽어서 실제 데이터를 처리한다.

 

 

“Network 탭에서 request headers / response headers가 같이 보이는 이유”

브라우저 개발자 도구에서 Network를 보면
한 요청을 클릭했을 때 보통 이런 식으로 묶여 있다.

  • Request Headers
  • Response Headers
  • (필요하면) Request Payload / Response

이렇게 보이는 이유는 단순하다.

하나의 통신 단위는 “request + response”이고
각각이 header/body 구조를 갖기 때문이다.

즉 개발자 도구에서는 request와 response를 “한 세트”로 보여준다.

 

 

정리

  • HTTP 메시지는 header와 body로 구성된다
  • header는 메타 정보(해석 규칙)이다
  • body는 실제 데이터(내용물)이다
  • request/response 모두 이 구조를 따른다

'Web > Web Basics' 카테고리의 다른 글

[웹 기초] 9. 개발자 도구(Network)로 request/response를 눈으로 확인하는 방법  (0) 2026.03.29
[웹 기초] 8. HTTP가 비연결성이고 무상태성이라는 말의 의미  (0) 2026.03.29
[웹 기초] 6. 프로토콜과 HTTP/HTTPS  (0) 2026.03.29
[웹 기초] 5. 웹 서버와 WAS  (0) 2026.03.29
[웹 기초] 4. 정적 데이터와 동적 데이터는 무엇이 다른가  (0) 2026.03.29
'Web/Web Basics' 카테고리의 다른 글
  • [웹 기초] 9. 개발자 도구(Network)로 request/response를 눈으로 확인하는 방법
  • [웹 기초] 8. HTTP가 비연결성이고 무상태성이라는 말의 의미
  • [웹 기초] 6. 프로토콜과 HTTP/HTTPS
  • [웹 기초] 5. 웹 서버와 WAS
sqaxe1
sqaxe1
woojoo-devlog 님의 블로그 입니다.
  • sqaxe1
    Woojoo's Devlog
    sqaxe1
  • 전체
    오늘
    어제
    • 분류 전체보기 (148)
      • Backend (9)
        • Servlet (7)
        • Spring (2)
      • Frontend (1)
      • CS (0)
      • Book (33)
        • 자바 웹 프로그래밍 Next Step (30)
        • 테스트 주도 개발: 고품질 쾌속개발을 위한 TDD.. (1)
        • 성공과 실패를 결정하는 1%의 네트워크 원리 (2)
      • Engineering (0)
        • Testing (0)
      • Infra (6)
        • AWS (6)
      • Java (4)
      • Network (1)
      • 김영한 (28)
        • 자바 입문 (8)
        • 실전 자바 - 기본편 (6)
        • 실전 자바 - 중급편 (10)
        • 실전 자바 - 고급편 (4)
      • Web (39)
        • Web Basics (39)
      • Project (24)
        • NeoSquare (0)
        • Memo Evolution (24)
      • 정보처리기사 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    개발서적
    aws
    java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
sqaxe1
[웹 기초] 7. HTTP 메시지는 왜 Header와 Body로 나뉘는가
상단으로

티스토리툴바