• Content-Type: 표현 데이터의 형식
-- ex) html, json, image
• Content-Encoding: 표현 데이터의 압축 방식
-- ex) gzip
• Content-Language: 표현 데이터의 자연 언어
-- ex) ko, en
• Content-Length: 표현 데이터의 길이 (바이트 단위)
** 표현 헤더는 전송, 응답 둘다 사용
클라이언트에서 데이터 요청을 할 때 아예 우선순위를 지정해서 보내는 것
• Accept: 클라이언트가 선호하는 미디어 타입 전달
• Accept-Charset: 클라이언트가 선호하는 문자 인코딩
• Accept-Encoding: 클라이언트가 선호하는 압축 인코딩
• Accept-Language: 클라이언트가 선호하는 자연 언어
** 협상 헤더는 요청시에만 사용
• 우선순위
1. Quality Values(q) 값 사용 (1에 가까울수록 높은 우선순위)
2. 구체적인 것이 우선
- 특별한 정보
Host : 하나의 서버가 여러 도메인을 처리해야 할 때 요청에서 사용!
서버에서 클라이언트로 쿠키 전달(응답)하고 클라이언트가 서버에서 받은 쿠키를 저장한다. 그리고 다시 HTTP 요청 시 쿠키 저장소를 통해 데이터를 서버로 전달 (로그인 시 사용)
명시: 명시한 문서 기준 도메인 + 서브 도메인 포함
생략: 현재 문서 기준 도메인만 적용
⭐️ - 만약 시간 초과로 캐시를 다시 다운 받아야 한다면?
- 서버의 데이터가 갱신되지 않으면, 검증헤더를 통해 바디부분을
빼고 재전송- ETag만 서버에 보내서 같으면 유지, 다르면 다시 받기
+) Lash-Modified
• Cache-Control
• Pragma : no-cache
캐시 제어(하위 호환)
• Expires
캐시 만료일 지정(하위 호환)
Cache-Control: no-cache
• 데이터는 캐시해도 되지만, 항상 원 서버에 검증하고 사용(이름에 주의!)Cache-Control: no-store
• 데이터에 민감한 정보가 있으므로 저장하면 안됨 (메모리에서 사용하고 최대한 빨리 삭제)Cache-Control: must-revalidate
• 캐시 만료후 최초 조회시 원 서버에 검증해야함
• 원 서버 접근 실패시 반드시 오류가 발생해야함 - 504 에러
• must-revalidate는 캐시 유효 시간이라면 캐시를 사용함Pragma: no-cache
• HTTP 1.0 하위 호환