✏️ HTTP 헤더1 - 일반 헤더

2026. 7. 19. 00:59·Backend/HTTP·Web

이 글은 Velog에서 이전한 글입니다. Velog 원문 보기

⭐️ HTTP Header

📌 HTTP 헤더의 용도

-HTTP 전송에 필요한 모든 부가정보

  • 예) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐
    시 관리 정보...
  • 표준 헤더가 너무 많음
    • https://en.wikipedia.org/wiki/List_of_HTTP_header_fields
  • 필요시 임의의 헤더 추가 가능
    • helloworld: hihi

❕ 과거

📌 HTTP 헤더 분류 - REF2616(과거)

과거의 헤더는 4가지로 분류됨.

  • 헤더 분류
    • General 헤더: 메시지 전체에 적용되는 정보, 예) Connection: close
    • Request 헤더: 요청 정보, 예) User-Agent: Mozilla/5.0 (Macintosh; ..)
    • Response 헤더: 응답 정보, 예) Server: Apache
    • Entity 헤더: 엔티티 바디 정보, 예) Content-Type: text/html, Content-Length: 3423

📌 HTTP BODY - message body - RFC2616(과거)

  • 메시지 본문(message body)은 엔티티 본문(entity body)을 전달하는데 사용
  • 엔티티 본문은 요청이나 응답에서 전달할 실제 데이터
    • 쉽게 이야기해서 메시지 본문 안에 엔티티 본문을 담아서 전달하는 것이다.
  • 엔티티 헤더는 엔티티 본문의 데이터를 해석할 수 있는 정보 제공
    • 데이터 유형(html, json), 데이터 길이, 압축 정보 등등

그러나
1999년 RFC2616 ❌ <-폐지
2014년 RFC7230~7235 등장

❗ 최신

REC723X 변화

  • 엔티티(Entity) -> 표현(Representation)
  • Representation Metadata + Representation Data
  • 표현 = 표현 메타데이터 + 표현 데이터

왜 표현(Representation)이라고 할까?
회원과 관련된 회원 조회 내역을 Html로 제공한다고 하자.
이것은 회원이라는 리소스를 html로 표현한 것이다. 그리고 예를 들어서 회원 데이터가 DB에 있는데 이것을 우리가 Json으로 조회를 하면** 회원이라는 리소스를 실제 데이터가 http에서 전송이 될 때는 html로 될 수도 있고 json으로 될 수도 있다.**
즉, 회원이라는 리소스를 html로 표현할 수도 있고, json으로 표현해서 전달할 수도 있다. 그래서 실제 전달하는 것을 표현이라고 명확하게 용어를 정리했다.

📌 HTTP BODY - message body - RFC7230(최신)

    • 메시지 본문(message body)을 통해 표현 데이터 전달
    • 메시지 본문 = 페이로드(payload)
    • 표현은 요청이나 응답에서 전달할 실제 데이터
    • 표현 헤더는 표현 데이터를 해석할 수 있는 정보 제공
      • 데이터 유형(html, json), 데이터 길이, 압축 정보 등등

참고: 표현 헤더는 표현 메타데이터와 페이로드 메시지를 구분해야 하지만, 여기서는 생략한다.

    •  

📌 표현(Representation)

  • Content-Type: 표현 데이터의 형식
  • Content-Encoding: 표현 데이터의 압축 방식
  • Content-Language: 표현 데이터의 자연 언어
  • Content-Length: 표현 데이터의 길이
  • 표현 헤더는 전송, 응답 둘다 사용

✔︎ Content-Type

표현 데이터의 형식 설명

  • 미디어 타입, 문자 인코딩
  • 예)
    • text/html; charset=utf-8
    • application/json
    • image/png

쉽게 말해서 Content-Body에 들어가는 내용이 무엇인지 알려주는 것이다.
Ex) html, json 등

✔︎ Content-Encoding

표현 데이터 인코딩

  • 표현 데이터를 압축하기 위해 사용
  • 데이터를 전달하는 곳에서 압축 후 인코딩 헤더 추가
  • 데이터를 읽는 쪽에서 인코딩 헤더의 정보로 압축 해제
  • 예)
    • gzip
    • deflate
    • identity

✔︎ Content-Language

표현 데이터의 자연 언어

  • 예)
    • ko
    • en
    • en-US

✔︎ Content-Length

  • 바이트 단위
  • Transfet-Encoding(전송 코딩)을 사용하면 Content-Length를 사용하면 안됨

⭐️ 인증

• Authorization: 클라이언트 인증 정보를 서버에 전달
• WWW-Authenticate: 리소스 접근시 필요한 인증 방법 정의

📌 Authorization

**클라이언트 인증 정보를 서버에 전달

  • Authorization: Basic xxxxxxxxxxxxxx

📌 WWW-Authenticate

리소스 접근시 필요한 인증 방법 정의

  • 리소스 접근시 필요한 인증 방법 정의
  • 401 Unauthorized 응답과 함께 사용
  • WWW-Authenticate: Newauth realm="apps", type=1,
    title="Login to "apps"", Basic realm="simple"

출처
모든 개발자를 위한 HTTP 웹 기본 강의

해당 게시물의 사진 자료는 위 강의의 자료를 사용하였습니다.


https://tools.ietf.org/html/rfc7235

'Backend > HTTP·Web' 카테고리의 다른 글

✏️ HTTP Header의 정보  (0) 2026.07.19
✏️ HTTP Header의 협상과 전송 방식  (0) 2026.07.19
✏️ HTTP 상태코드  (0) 2026.07.19
✏️ HTTP 메서드 활용  (0) 2026.07.19
✏️ HTTP 메서드  (0) 2026.07.19
'Backend/HTTP·Web' 카테고리의 다른 글
  • ✏️ HTTP Header의 정보
  • ✏️ HTTP Header의 협상과 전송 방식
  • ✏️ HTTP 상태코드
  • ✏️ HTTP 메서드 활용
pp8817
pp8817
공부한 내용, 개발 관련 지식, 트러블 슈팅 등을 기록합니다. 이전 블로그: https://velog.io/@pp8817/posts
  • pp8817
    끄적이는 개발 log
    pp8817
  • 전체
    오늘
    어제
    • 분류 전체보기 (273)
      • Project (71)
        • 척척학사 (29)
        • Book (23)
        • Saynow (3)
        • YAPP 27기 (4)
        • 나의 작은 프로젝트 (10)
        • Landit (2)
      • Backend (88)
        • Spring (13)
        • Spring MVC (13)
        • Spring Security (4)
        • JPA (26)
        • Database (19)
        • HTTP·Web (13)
        • Architecture (0)
      • Language·CS (59)
        • Java·Kotlin (5)
        • CS Interview (17)
        • Backend Interview (5)
        • Concepts (32)
      • Algorithm (25)
        • Algorithm (24)
        • 소마 알고리즘 스터디 (1)
      • Infra (8)
      • Troubleshooting (11)
      • Retrospective (6)
      • Etc (5)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    interview
    척척학사
    게시판
    CS Interview
    Algorithm
    HTTP WEB 기본 지식
    http
    나의 작은 프로젝트
    Python
    jpa
    Spring MVC
    Spring
    Project
    object
    BOJ
    Book
    java
    트러블슈팅
    개념 정리!
    OS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
pp8817
✏️ HTTP 헤더1 - 일반 헤더
상단으로

티스토리툴바