Cookie
요청 헤더 Cookies

개요

Cookie는 서버가 앞서 Set-Cookie로 심어 둔 쿠키들을 브라우저가 다시 서버로 되돌려 보내는 요청 헤더입니다. 상태가 없는(stateless) HTTP 위에서 세션·로그인·개인화 상태를 유지하는 핵심 메커니즘입니다.

자세히

값은 `이름=값` 쌍을 세미콜론으로 이어 붙인 형태이며, 요청 헤더에는 각 쿠키의 이름과 값만 담깁니다. Domain·Path·Expires·Secure·HttpOnly·SameSite 같은 속성은 서버가 Set-Cookie로 내려줄 때만 존재하고, 브라우저가 어떤 쿠키를 보낼지 판단하는 데 쓰일 뿐 Cookie 요청 헤더에는 되돌아오지 않습니다. 즉 Cookie(요청)와 Set-Cookie(응답)는 방향과 형식이 다른 짝입니다.

브라우저는 요청 URL의 도메인·경로와 쿠키의 Domain·Path 속성이 일치하는 쿠키만, Secure면 HTTPS에서만, SameSite 정책에 따라 자동으로 골라 붙입니다. 개발자가 손대지 않아도 매 요청에 실려 나가므로, 쿠키가 많아지면 모든 요청의 헤더 크기가 커지는 오버헤드가 됩니다.

쿠키는 자동 전송된다는 바로 그 성질 때문에 CSRF(사이트 간 요청 위조)의 근본 원인이 됩니다. SameSite=Lax/Strict 속성과 안티-CSRF 토큰으로 방어하고, HttpOnly로 자바스크립트 접근을 막아 XSS로 인한 세션 탈취를 완화합니다.

문법

Cookie: <name>=<value>[; <name>=<value>]*

e.g. Cookie: session_id=abc123; theme=dark; lang=ko

실무 참고

관련 헤더

관련 상태코드

스펙 근거