cookie 속성

moredev·2023년 1월 3일
0

개발 환경

목록 보기
3/3

cookie?

서버가 웹 브라우저에 저장하는 데이터로 문자열 형태로 저장된다.
key:value 형식으로, 값 외의 속성에 쿠키의 만료 기간, 도메인, 플래그(예: Secure 및 HttpOnly) 등의 정보를 저장한다.


쿠키 유형

session cookie는 웹 브라우저가 닫힐 때, 브라우저에 의해 삭제된다. 세션 쿠키는 메모리에 저장되며 디스크에 기록되지 않는다.

Permanent cookie는 영구적인 쿠키로 만료 기간까지 저장된다. 영구 쿠키는 디스크에 저장되며, 만료 날짜에 디스크에서 제거된다.


쿠키 속성

key

value

expires

쿠키 만기 날짜
해당 기간이 되면 쿠키는 제거된다.

max_age

쿠키 지속 기간으로, 현재 시간을 기준으로 쿠키가 유지될 기간을 지정한다. expires의 대안

path

이 쿠키가 전송되는 경로를 지정한다.
url 값으로 저장하며, 해당 경로 혹은 해당 경로의 하위 경로에서만 쿠키에 접근 가능하다.

domain

쿠키가 전송되는 도메인을 지정한다.
설정된 값이 없다면 어떠한 서브도메인에서도 쿠키에 접근할 수 없으며, 도메인이 설정되어 있으면 해당 도메인의 서브도메인에서는 쿠키에 접근할 수 있다.

secure

쿠키가 암호화된 연결을 통해서만 전송되는지 여부를 설정한다. HTTPS가 아닌 통신에서는 쿠키를 전송하지 않는다.

httponly

쿠키가 HTTP 채널을 통해서만 표시되는지 여부를 설정

samesite

CSRF(cross-site Request Forgery) 문제에 대한 보호 방법

  • None: samesite를 적용하지 않음. 모든 요청에 전송되며, 서드 파트 쿠키도 전송된다.
  • Strict: 크로스 사이트 요청에는 전송되지 않는다. 즉 퍼스트 파트 쿠키만 전송된다.
  • Lax: 대체적으로 서드 파트 쿠키는 전송되지 않지만, 몇 가지 예외적인 요청에는 전송된다.
    예외적인 요청에는 유저가 링크(<a>)를 클릭하거나 window.location.~ 등으로 인한 이동, 302 리다이렉트 이동 또는GET과 같은 서버의 상태를 바꾸지 않을 거라고 기대되는 요청 등이 있다.

퍼스트 파트 쿠키

사용자가 접속한 페이지와 같은 도메인으로 전송되는 쿠키

서드 파트 쿠키

사용자가 접속한 페이지와 다른 도메인으로 전송하는 쿠키



출처
IBM 쿠키 속성
SameSite 속성

0개의 댓글