cookie?
서버가 웹 브라우저에 저장하는 데이터로 문자열 형태로 저장된다.
key:value 형식으로, 값 외의 속성에 쿠키의 만료 기간, 도메인, 플래그(예: Secure 및 HttpOnly) 등의 정보를 저장한다.
session cookie
는 웹 브라우저가 닫힐 때, 브라우저에 의해 삭제된다. 세션 쿠키는 메모리에 저장되며 디스크에 기록되지 않는다.
Permanent cookie
는 영구적인 쿠키로 만료 기간까지 저장된다. 영구 쿠키는 디스크에 저장되며, 만료 날짜에 디스크에서 제거된다.
쿠키 만기 날짜
해당 기간이 되면 쿠키는 제거된다.
쿠키 지속 기간으로, 현재 시간을 기준으로 쿠키가 유지될 기간을 지정한다. expires
의 대안
이 쿠키가 전송되는 경로를 지정한다.
url 값으로 저장하며, 해당 경로 혹은 해당 경로의 하위 경로에서만 쿠키에 접근 가능하다.
쿠키가 전송되는 도메인을 지정한다.
설정된 값이 없다면 어떠한 서브도메인에서도 쿠키에 접근할 수 없으며, 도메인이 설정되어 있으면 해당 도메인의 서브도메인에서는 쿠키에 접근할 수 있다.
쿠키가 암호화된 연결을 통해서만 전송되는지 여부를 설정한다. HTTPS가 아닌 통신에서는 쿠키를 전송하지 않는다.
쿠키가 HTTP 채널을 통해서만 표시되는지 여부를 설정
CSRF(cross-site Request Forgery) 문제에 대한 보호 방법
None
: samesite를 적용하지 않음. 모든 요청에 전송되며, 서드 파트 쿠키도 전송된다.Strict
: 크로스 사이트 요청에는 전송되지 않는다. 즉 퍼스트 파트 쿠키만 전송된다.Lax
: 대체적으로 서드 파트 쿠키는 전송되지 않지만, 몇 가지 예외적인 요청에는 전송된다.<a>
)를 클릭하거나 window.location.~
등으로 인한 이동, 302
리다이렉트 이동 또는GET
과 같은 서버의 상태를 바꾸지 않을 거라고 기대되는 요청 등이 있다.사용자가 접속한 페이지와 같은 도메인으로 전송되는 쿠키
사용자가 접속한 페이지와 다른 도메인으로 전송하는 쿠키