카테고리 없음

그림으로 배우는 Http & Network 6장] HTTP 헤더

hololo 2021. 10. 10. 21:08

##본 포스팅은 '그림으로 배우는 Http & Network Basic - 우에노 센'을 읽고 쓴 요약/정리 글입니다.

 

HTTP 헤더

출처 : https://www.hyojae.info/9141e6c1-0f97-4172-8853-989db5255dec

HTTP 프로토콜의 리퀘스트와 리스폰스에는 반드시 메시지 헤더가 포함되어있는데,
메시지 헤더에는 클라이언트나 서버가 리퀘스트나 리스폰스를 처리하기위한 정보가 들어있다.

*메시지 바디에는 사용자와 리소스를 필요로 하는 정보가 있다.

출처 : https://www.hyojae.info/9141e6c1-0f97-4172-8853-989db5255dec

- 리퀘스트 메시지 : 메소드, URI, HTTP 버전, HTTP 헤더 필드 등으로 구성

출처 : https://www.hyojae.info/9141e6c1-0f97-4172-8853-989db5255dec

- 리스폰스 메시지 : HTTP 버전, 상태코드와 설명, HTTP 헤더 필드 등으로 구성

 

HTTP 헤더 필드

HTTP 헤더 필드는 HTTP 메시지를 구성하는 요소의 하나이다.

메시지 바디의 크기나 사용하고 있는 언어, 인증 정보 등을 브라우저나 서버에 제공하기 위해 사용되고 있다.

1. HTTP 헤더 필드의 구조

헤더 필드 명 : 필드 값

예를 들어,
Content-Type:text/html

*헤더 필드가 중복된 경우엔, 브라우저에 따라 다른 동작을 한다. 최초의 헤더 필드를 우선적으로 처리하기도 하고, 그게 아닐 수도 있다.

 

2. 4종류의 HTTP 헤더 필드

HTTP 헤더 필드는 그 용도에 따라 다음과 같이 4종류로 분류된다.

(HTTP/1.1 기준)

  • 일반적 헤더 필드(General Header Fields)
    리퀘스트 메시지와 리스폰스 메시지 둘 다 사용되는 헤더
    헤더 필드 명 설명
    Cache-Control 캐싱 동작 지정
    Connection Hop-by-hop 헤더, 커넥션 관리
    Date 메시지 생성 날짜
    Pragma 메시지 제어
    Trailer 메시지의 끝에 있는 헤더의 일람
    Transfer-Encoding 메시지 바디의 전송 코딩 형식 지정
    Upgrade 다른 프로토콜에 업그레이드
    Via 프록시 서버에 관한 정보
    Warning 에러 통지
  • 리퀘스트 헤더 필드
    클라이언트 측에서 서버 측으로 송신된 리퀘스트 메시지에 사용되는 헤더
    헤더 필드 명 설명
    Accept 유저 에이전트가 처리 가능한 미디어 타입
    Accept-Charset 문자셋 우선 순위
    Accept-Encoding 콘텐츠 인코딩 우선 순위
    Accept-Language 언어 우선 순위
    Authorization 웹 인증을 위한 정보
    Expect 서버에 대한 특정 동작의 기대
    From 유저의 메일 주소
    Host 요구된 리소스의 호스트
    If-Match 엔티티 태그의 비교
    If-Modified-Since 리소스의 갱신 시간 비교
    If-None-Math 엔티티 태그의 비교
    If-Range 리소스가 갱신되지 않은 경우에 엔티티의 바이트 범위의 요구를 송신
    If-Unmodified-Since 리소스의 갱신 시간 비교
    Max-Forwards 최대 전송 홉 수
    Proxy-Authorization 프록시 서버의 클라이언트 인증을 위한 정보
    Range 엔티티 바이트 범위 요구
    Referer 리퀘스트중의 URI를 취득하는 곳
    TE 전송 인코딩의 우선 순위
    User-Agent HTTP 클라이언트의 정보


  • 리스폰스 헤더 필드
    서버 측에서 클라이언트 측으로 송신한 리스폰스 메시지에 사용되는 헤더
    헤더 필드 명 설명
    Accept-Ralnge 바이트 단위의 요구를
    수신할 수 있는지 없는지 여부
    Age 리소스의 지정 경과 시간
    Etag 리소스 특정하기 위한 정보
    Location 클라이언트를 지정한 URI에 리다이렉트
    Proxy-Authenticate 프록시 서버의 클라이언트 인증을 위한 정보
    Retry-After 리퀘스트 재시행의 타이밍 요구
    Server HTTP 서버 정보
    Vary 프록시 서버에 대한 캐시 관리 정보
    WWW-Authenticate 서버와 클라이언트 인증을 위한 정보
  • 엔티티 헤더 필드
    리퀘스트 메시지와 리스폰스 메시지에 포함된 엔티티에 사용되는 헤더
    헤더 필드 명 설명
    Allow 리소스가 제공하는 HTTP 메소드
    Content-Encoding 엔티티 바디에 저기용되는 콘텐츠 인코딩
    Content-Language 엔티티의 자연어
    Content-Length 엔티티 바디의 사이즈(단위 : 바이트)
    Content-Location 리소스에 대응하는 대체 URI
    Content-MD5 엔티티 바디의 메시지 다이제스트
    Content-Range 엔티티 바디의 범위 위치
    Content-Type 엔티티 바디의 미디어 타입
    Expires 엔티티 바디의 유효기간 날짜
    Last-Modified 리소스의 최종 갱신 날짜