Ch7.1 HTTP 헤더 - 일반 헤더

dd_ddong·2023년 7월 3일
0

HTTP 웹 기본 지식

목록 보기
14/21

HTTP 헤더

  • field-name":" OWS field-value OWS
  • field-name 대소문자 구분 X

용도

  • HTTP 전송에 필요한 모든 부가정보
    • 메시지 바디 내용, 메시지 바디 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보
  • 표준 헤더 많음!
  • 사용자 지정 헤더 추가 가능

분류

과거 - RFC2616(폐기됨)

  • Genneral 헤더 : 메시지 전체 적용 정보
  • Request 헤더 : 요청 정보 ex) User-Agent: Chrome/ -> 웹브라우저 뭔지
  • Response 헤더 : 응답 정보 ex) Server: Apache -> 서버가 뭔지
  • Entity 헤더 : 엔티티 바디 정보 ex) Content-Type: text/html -> 메시지 바디에 들어갈 내용
    • 메시지 본문은 엔티티 본문을 전달하는데 사용
    • 엔티티 본문은 요청이나 응답을 전달할 실제 데이터
    • 엔티티 헤더는 엔티티본문을 해석할 수 있는 정보 제공

현재 - RFC7230 ~ 7235

  • 엔티티(Entity) -> 표현(Representation)
  • Representation = representation Metadata + representation Data
  • 메시지 본문 = 페이로드(payload)
  • 표현 헤더는 표현 데이터를 해석할 수 있는 정보 제공

표현 헤더

  • Content-Type: 표현 데이터의 형식

  • Content-Encoding: 표현 데이터의 압축 방식

  • Content-Language: 표현 데이터의 자연 언어

  • Content-Length: 표현 데이터의 길이

  • 표현 헤더는 전송, 응답 둘다 사용

Content-Type

표현 데이터의 형식 설명

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

Content-Encoding

표현 데이터 인코딩

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

Content-Language

표현 데이터의 자연 언어

  • 표현 데이터의 자연 언어를 표현
    • ko
    • en
    • en-US

Content-Length

표현 데이터의 길이

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

0개의 댓글