HTTP header fields

헤더는 메시지를 어떻게 해석할지 붙이는 처리 규칙이다

상태 코드가 결과 범주를 말한다면, 헤더는 대상 서버, 인증, 본문 형식, 캐시, 쿠키처럼 메시지 처리 조건을 전달한다.

Request

Host대상 origin과 가상 호스트를 구분한다.
AuthorizationBearer, Basic 같은 인증 스킴과 자격 증명을 보낸다.
Accept클라이언트가 받을 수 있는 표현 형식을 협상한다.
If-Match조건부 변경으로 충돌을 줄인다.

Response

Content-Type본문이 JSON, HTML, form data인지 알려준다.
Cache-Control저장 가능 여부, freshness, 재검증 방식을 정한다.
Set-CookieSecure, HttpOnly, SameSite 같은 브라우저 상태 규칙을 보낸다.
Location201 Created나 3xx에서 다음 리소스 위치를 알려준다.
대소문자

필드 이름 대소문자는 의미를 바꾸지 않는다.

표현 협상

Content-Type은 실제 본문 형식, Accept는 원하는 응답 형식이다.

전달 범위

Connection 같은 hop-by-hop 헤더는 end-to-end 캐시 정책과 다르다.

핵심: 헤더는 “부가 텍스트”가 아니라 보안, 캐시, 본문 파싱, 리디렉션을 움직이는 계약이다.