- Cookie: stateless(무상태성)의 HTTP에서 정보를 유지할 수 있게 서버가 일방적으로 클라이언트에 전달하여 브라우저에 저장하는 작은 데이터
- 해당 도메인에 대해 쿠키가 존재하면 웹브라우저는 도메인에게 HTTP요청 시 쿠키를 함께 전달
- 사용자의 인증정보, 장바구니정보 등 장시간 보존해야하는 정보 저장에 적합
- 장시간 정보 저장의 장점은 오히려 자바스크립트에 의한 쿠키 접근 가능성을 높여 인증정보 유출의 가능성이 높음
- Cookie Options
- Domain: 도메인이 일치하는 경우 쿠키 전송
- Path: 경로가 일치하는 경우 쿠키 전송
- MaxAge or Expires: 쿠키의 유효기간 설정
- HttpOnly: 자바스크립트의 쿠키에 대한 접근 가능여부 결정(
false
인 경우 XSS공격에 취약)- Secure: HTTPS에서만 쿠키 전송
- SameSite: CORS요청의 경우 옵션 및 메소드에 따라 쿠키 전송
- Lax: Cross-Origin 요청일 경우 'GET'메소드에 대해서만 쿠키를 전송
- Strict: Cross-Origin 요청일 경우 쿠키를 전송하지 않고, 오로지 Same-Site 요청(Origin과 서버도메인이 같은) 경우에만 쿠키를 전송
- None: 요청에 관계없이 항상 쿠키를 전송하되
Secure: true
이어야 함
자료 출처: 코드스테이츠