cookie란?
: cookie는 HTTP프로토콜의 비상태성을 보완하기 위해서 나온 수단으로, 브라우저에 데이터를 저장할때 사용한다.
브라우저를 종료하게 되면 삭제되는 임시쿠키를 sessionCookie라고 하고, 설정한 옵션만큼 지속되는 쿠키를 persistent Cookie라고 한다.
쿠키의 옵션
1.max-age
: 쿠키를 얼마나 유지할 것인지
//Max-Age
`Permanent=cookies; Max-Age=${60*60*24*30}` //60초 60분 24시간 30일
이렇게 설정해주면 개발자도구의 application의 Cookies에 들어가면 옵션을 넣어준 쿠키(persistentCookie)는 기간 값이 들어가 있지만 설정하지 않은 쿠키(sessionCookie)는 기간이 없다.
2.expire
: 설정된 유효기간까지 쿠키를 가지고 있다가, 해당 일자가 되면 쿠키를 자동으로 폐기
// 지금으로부터 하루 후
let date = new Date(Date.now() + 86400e3);
date = date.toUTCString();
document.cookie = "user=John; expires=" + date;
**과거날짜로 설정하면 쿠키는 삭제된다.
동시에 두 옵션을 지정하게 되면 max-age를 더 높은 순위로 적용을 한다. 그리고 옵션 중 하나라도 설정하지 않으면 쿠키는 브라우저가 닫힐 때 폐기가 된다.
**expire의 대안으로 나온게 만료기간을 정할 수 있게 하는 max-age가 나왔다.
쿠키는 보안상의 이유로 영구적인 설정을 하지 않는다.
참고)
'CS지식💪' 카테고리의 다른 글
TCP / UDP (0) | 2023.04.17 |
---|---|
TCP 3way handshake (0) | 2023.04.17 |
useRef는 어디에 쓰이나 (0) | 2023.04.04 |
HTTP -> Ajax -> Websocket (0) | 2023.04.01 |
position은 어떻게 사용할까 (0) | 2023.03.30 |