2021-10-14 그림으로 배우는 Http & Network (6주차)

Http/1.1 일반 헤더 필드

  • 일반 헤더 필드는 리퀘스트 메시지와 리스폰스 메시지 양쪽에서 사용되는 헤더입니다.

Cache-Control

  • Cache-Control 헤더는 디렉티브로 불리는 명령을 사용하여 캐싱 동작을 지정한다
  • 지정한 디렉티브에는 파라미터가 있는 것과 없는 것도 있으며 여러 개의 디렉티브를 지정하는 경우에는 콤마로 구분한다

캐시가 가능한지 여부를 나타내는 디렉티브

Cache-control: public
  • Public 디렉티브가 사용되는 경우 다른 유저에게도 돌려줄 수 있는 캐시를 해도 좋다는 것을 명시적으로 나타낸다
  • private는 리스폰스는 특정 유저만을 대상으로 하고 있다는 것을 나타낸다
  • no-cache는 캐시로부터 오래된 소스가 반환되는 것을 막기 위해 사용
  • no-store : 리퀘스트 혹은 리스폰스에 기밀 정보가 포함되어 있음을 나타내어 로컬스토리지에 보존해선 안되도록 지정
  • s-maxage : 캐시 기한이나 검증을 지정하는 디렉티브
  • max-age : 리소스를 캐시에 보존해 두는 최대 시간을 나타낸다
  • min-fresh : 적어도 지정된 시간은 최신 상태의 것을 반환하도록 캐시 서버에 요구
  • max-stale: 캐시된 리소스의 유효기간이 끝났더라도 받아들일 수 있음을 나타낸다
  • only-if-cached: 로컨 캐시에 있는 경우에만 리스폰스를 반환하도록 요구
  • must-revalidate: 현재도 유효한지 아닌지의 여부를 오리진 서버에 조회를 요구

이외에도 많은 것들이 있지만 몇몇개들만 기록하기로 했다

일반 헤더 필드

  • Connection: 프록시에 더이상 전송하지 않는 헤더 필드를 지정, 지속적 접속 관리
  • Date : HTTP 메시지를 생성한 날짜를 나타냄
  • Trailer: 메시지 바디 뒤에 기술되어 있는 헤더 필드를 미리 전달할 수 있다
  • Transfer-Encoding: 메시지 바디의 전송 코딩 형식을 지정하는 경우 사용
  • Via: 서버간 메시지의 경로를 알기 위해서 사용된다

리퀘스트 헤더 필드

  • Accept: 처리할 수 있는 미디어 타입과 미디어 타입의 상대적인 우선 순위를 전달하기 위해서 사용된다
  • Accept-Charset: 처리할 수 있는 문자셋으로 문자셋의 상대적인 우선순위를 전달하기 위해서 사용된다.
  • Accept-Encoding: 처리할 수 있는 콘텐츠 코딩과 콘텐츠 코딩의 상대적인 우선 순위를 전달하기 위해서 사용된다.
  • Authorization: 인증정보를 전달하기 위해서 사용된다.
  • Expect: 서버에 특정 동작 요구를 전달한다
  • From: 사용하고 있는 유저의 메일 주소를 전달한다
  • Host: 리소스의 인터넷 호스트와 포트 번호를 전달한다. 유일한 필수 헤더 필드이다
  • If-Match: 조건부 리퀘스트 - 지정된 조건에 맞는 경우에만 리퀘스트를 받는다.

###

Written on October 14, 2021