// 쿠키를 저장하는 setCookie Function
let setCookie = (key, value, expireHours) => {
let setCookieDate = new Date();
let saveDay = expireHours * 60 * 60 * 1000;
setCookieDate.setTime(setCookieDate.getTime() + saveDay);
document.cookie =
key +
"=" +
escape(value) +
// scope 도메인 입력
// ";domain=127.0.0.1" +
";path=/; expires=" +
setCookieDate.toGMTString() +
";";
};
// 쿠키를 불러오는 getCookie Function
let getCookie = (key) => {
key = new RegExp(key + "=([^;]*)");
return key.test(document.cookie) ? unescape(RegExp.$1) : "";
};
// 쿠키를 삭제하는 deleteCookie Function :: setCookie()를 활용한 것이므로 꼭 필요한 것은 아님
let deleteCookie = (key, value) => {
setCookie(key, value, 0);
};
과거에는, 클라이언트 측에 정보를 저장할 때 쿠키를 주로 사용하곤 했다.
쿠키를 사용하는 게 데이터를 클라이언트 측에 저장할 수 있는 유일한 방법이었을 때는 이 방법이 타당했지만, 현재는 modern storage APIs 를 사용해 정보를 저장하는 걸 권장한다.
모든 요청마다 쿠키가 함께 전송되기 때문에 ( 특히, mobile data connections 에서 ) 성능이 떨어지는 원인이 될 수 있기 때문이다.
정보를 클라이언트 측에 저장하려면 Modern APIs의 종류인 웹 스토리지 API ( localStorage 와 sessionStorage ) 와 IndexedDB 를 사용하면 된다.