Header Pitfalls
헤더는 이름보다 지시어의 정확한 의미가 중요하다
비슷해 보이는 헤더 지시어도 캐시, 쿠키, 보안 판단에 전혀 다른 결과를 만든다. 운영에서는 오해하기 쉬운 표현부터 분리해야 한다.
no-cache는 저장 금지가 아니라 재검증 요구다
no-store는 저장 자체를 막으려는 지시어다
User-Agent는 위조 가능하므로 보안 근거가 아니다
Cache-Control
no-cache
캐시에 저장될 수 있지만, 재사용 전에 origin에 검증해야 한다.
Cache-Control
no-store
요청 또는 응답을 저장하지 말라는 더 강한 지시어다.
Set-Cookie
HttpOnly / Secure
민감 쿠키는 스크립트 접근을 막고 HTTPS 전송으로 제한하는 편이 안전하다.
Content-Type
보내는 본문
서버와 클라이언트가 본문을 어떤 parser로 읽을지 결정한다.
Accept
받고 싶은 표현
JSON, HTML, 이미지 등 선호하는 응답 형식을 협상한다.
User-Agent