글의 목적
면접을 대비하여 글로 정리한다.
레퍼런스
본문
Session cookies
- 웹브라우저가 켜져있는 동안 유효하고 끄고 다시 켜면 없어짐 → MaxAge와 Expires 옵션 중 하나라도 설정하지 않을 때
Permanent cookie
- 웹브라우저를 껐다 켜도 유지됨
Permanent cookie 기간 설정할 때 쓰이는 옵션이 바로 MaxAge와 Expires 이다.
MaxAge와 Expires 옵션은 둘 다 쿠키의 수명을 결정하는 데 사용된다.
MaxAge
- 쿠키가 유지되는 시간(초)을 정의한다. 이 값은 현재 시간에서 더해져서 쿠키의 만료 시간이 계산된다.
- 예를 들어, MaxAge가 3600으로 설정되어 있으면, 쿠키는 1시간 동안 유지된다.
Expires
- 쿠키가 만료되는 날짜와 시간을 정의한다. 이 값은 HTTP Date 형식의 문자열로 설정된다.
MaxAge와 Expires 옵션 중 하나라도 설정하지 않으면?
만약 MaxAge와 Expires 옵션 중 하나라도 설정하지 않으면, 쿠키는 브라우저가 종료될 때까지 유지된다.
이를 **'Session Cookie'**라고 한다.
즉, 쿠키가 브라우저 세션 중에만 유지되고, 브라우저가 종료되면 쿠키가 자동으로 삭제된다.
하지만 MaxAge와 Expires를 함께 설정하면, 쿠키는 세션 종료 후에도 유지된다.
브라우저가 종료되더라도 쿠키가 삭제되지 않고, MaxAge 또는 Expires에 지정된 시간이 지나면 삭제된다.
또한, MaxAge와 Expires를 함께 설정한 경우에는 MaxAge가 우선된다.
MaxAge와 Expires가 동시에 설정되어 있으면, MaxAge를 우선으로 적용하여 쿠키의 수명을 결정한다.
대사로 정리
" Cookie는 HTTP 프로토콜의 비상태성을 보완하기 위한 수단으로,
브라우저에 데이터를 저장할 때 사용합니다.
Cookie의 MaxAge 옵션은 쿠키를 얼마나 유지할 것인지,
Expires 옵션은 언제 폐기할 것인지 지정하는 옵션입니다.
두 옵션을 동시에 설정하면
MaxAge가 더 높은 우선 순위로 적용됩니다.
이 두 옵션중 하나라도 설정하지 않으면,
해당 쿠키는 브라우저가 닫힐 때 폐기 됩니다.
따라서 쿠키를 빠르게 폐기하고 싶다면 옵션을 설정하지 않는 것이 좋고, 쿠키를 계속 사용하고 싶다면 두 옵션 중에 하나라도 설정해주는 것이 좋습니다.
이 때, 브라우저를 종료하면 삭제되는 임시 쿠키를 세션 쿠키(Session Cookie)라고 하고, 설정한 옵션만큼 사용가능한 쿠키를 영속성 쿠키(Persistent Cookie)라고 합니다."
'항해99 > 항해99 storage' 카테고리의 다른 글
React의 state와 props에 대해서 설명해주세요. (0) | 2023.05.17 |
---|---|
순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여설명해주세요. (0) | 2023.05.17 |
useRef가 필요한 상황을 예시를 들어 설명해주세요 (0) | 2023.05.16 |
배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유에 대해서 설명해주세요 (0) | 2023.05.15 |
require와 import차이점을 설명해주세요. 각각 어떤 상황에서 쓸 수 있나요? (0) | 2023.05.15 |