JS
[JS] 자바스크립트로 쿠키 설정, 가져오기, 삭제 방법
애용이랑떼껄룩
2024. 2. 1. 17:05
728x90

쿠키란?
HTTP는 웹에서 이루어지는 모든 데이터를 주고받기 위한 서버-클라이언트 모델을 따르는 프로토콜.
쿠키는 소량의 특정 데이터를 기억하기 위해 저장하는 데이터로 사용자 컴퓨터에 저장됨
쿠키의 특징
- 웹 브라우저(IE, Chrome, Firefox등...)마다 쿠키가 저장되는 위치가 다름.
- 쿠키는 이름-값 쌍의 형태의 정보를 문자열로 저장함.
- 사용자의 웹 브라우저가 쿠키를 읽어서 사용자 정보 같은 데이터를 식별함.
쿠키 설정
cookieName과 cookieVal는 상황에 맞게 설정하여 사용해주시면 됨.
쿠키를 확인하려면 개발자 도구(F12)에 애플리케이션 - 쿠키를 보면 자세히 나와있다.
영문의 경우 Application > Cookies
path
path는 설정 할 때 path에 저장한 경로의 하위경로에서만 해당 쿠키에 접근이 가능하다.
예를들어 path를 /a로 설정하면 /a or /a/b 등의 경로에서 쿠키를 사용할 수 있다.
모든 경로에서 사용해야할 경우엔 /로 설정하면 된다.
옵션은 ;를 통하여 추가 가능하다.
function setCookie(cookieName, cookieVal) {
document.cookie = cookieName + '=' + listString + "; path=/;"
}
domain
설정 시 domain으로 저장한 도메인에서만 쿠키에 접근할 수 있다.
function setCookie(cookieName, cookieVal) {
document.cookie = cookieName + '=' + listString + "; path=/; domain=localhost"
}
max-age
설정 시 max-age로 설정한 초 만큼 쿠키가 유지됨 지날경우엔 쿠키가 삭제된다.
0일경우 바로 삭제
function setCookie(cookieName, cookieVal) {
document.cookie = cookieName + '=' + listString + "; path=/; domain=localhost; max-age=0;"
}
expires
max-age와 같이 유지되는 기간인데 expires는 날짜로 설정해준다
설정 시 설정한 날짜까지 쿠키가 유지됨 지날경우엔 쿠키가 삭제된다.
function setCookie(cookieName, cookieVal) {
document.cookie = cookieName + '=' + listString + "; path=/; domain=localhost; expires=Tue, 19 Jan 2038 03:14:07 UTC;"
}
쿠키 얻기
쿠키를 얻는 방법
function getCookie(cookieName) {
var cookieList = document.cookie.split("; ");
for (var i in cookieList) {
if(cookieList[i].split("=")[0].trim() == cookieName)
if (cookieList[i][cookieList[i].length - 1] != "=")
return cookieList[i].split("=")[1];
}
}
모든쿠키를 ;를 기준 분리하여 cookieList에 담아준 후
cookieName과 일치하는 쿠키의 value를 가져온다
쿠키 삭제
function deleteCookie(cookieName) {
document.cookie = cookieName + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
}
OR
function deleteCookie(cookieName) {
document.cookie = cookieName + "=; max-age=0; path=/;";
}
삭제는 쿠키의 설정에서 사용한 기간만료의 방법을 사용한다.
expires를 과거의 시간으로 해주던지, max-age를 0으로 설정하여 사용하면 된다.
틀린정보나 태클 환영입니다 !
반응형