
Cookie
서버에 의해 클라이언트의 브라우저에 생성되는 작은 텍스트 데이터
HTTP는 Stateless 프로토콜이므로
매 요청마다 정보를 갖고 있어야 상태를 유지할 수 있다
이 때 Body 에는 요청에 대한 실제 정보가 담겨 있다면
Header 에는 이 요청에 대한 인증 정보 등이 담겨 있다
헤더에는 key:value 구조로 여러 형태의 정보가 구성 되어 있는데,
이 때 key가 Cookie (클라이언트 → 서버)
, Set-Cookie (서버 → 클라이언트) 인 정보들을 보았을 텐데
이 정보들이 흔히 말하는 쿠키이다
네이밍이 왜 이런가도 알았던 거 같은데..?, 까먹었다
이 쿠키는 헤더의 value 안에 또 key=value 형태들로 존재한다
Cookie 의 보안설정 *
1. Secure
쿠키가 HTTPS 통신일 때만 서버로 전송되도록 강제
해결 문제: 암호화되지 않은 HTTP 연결에서 쿠키가 탈취되는 것을 막는다
설정 예시:
Set-Cookie: session_id=...; Secure
2. HttpOnly
목적: 자바스크립트(
document.cookie)가 쿠키에 접근하는 것을 막는다해결 문제: 악성 스크립트가 쿠키를 훔쳐가는 것을 막습니다.
설정 예시:
Set-Cookie: session_id=...; HttpOnly
3. SameSite
목적: 다른 도메인에서 요청을 보낼 때 쿠키 전송 여부를 결정한다
해결 문제: 사용자가 의도하지 않은 요청에 쿠키가 자동으로 실려 가는 것을 막는다
설정 예시:
Set-Cookie: session_id=...; SameSite=Lax
Share article