JavaScript에서 쿠키 설정
쿠키는 클라이언트 측과 서버 측 간의 연결을 가능하게 하는 정보 조각입니다. 웹 브라우저는 브라우징 시 이를 저장합니다.
일반적으로 쿠키에는 문자열로 세미콜론으로 구분된 이름-값
쌍 형식의 데이터가 포함되어 있습니다. 또한 쿠키는 사용자의 상태를 유지하고 모든 웹 페이지에서 사용자의 정보를 기억합니다.
JavaScript를 고려할 때 쿠키는 document.cookie
속성을 사용하여 생성
, 읽기
, 업데이트
및 삭제
할 수 있습니다. 쿠키는 아래 구문에 따라 이름
, 값
, 만료
, 경로
, 도메인
및 보안
의 6개 세그먼트로 구성됩니다.
통사론:
document.cookie = 'name=VALUE; expires=DATE; path=PATH; domain=DOMAIN; secure';
여기에서 첫 번째 세그먼트(name=VALUE
)의 존재가 필수적이며 다른 세그먼트는 요구 사항에 따라 필요한 경우 사용자가 제공할 수 있습니다.
JavaScript에서 쿠키 설정
document.cookie = 'new_cookie'
먼저 위의 구문을 사용하여 각 세그먼트를 스타트업으로 자세히 고려하십시오.
document.cookie
명령은 새 쿠키를 생성합니다.- 여기에서
new_cookie
는 쿠키의 값을 설정하는 문자열이며 구문은name=VALUE
입니다. 여기서name
은 쿠키가 가독성 형식으로 저장해야 하는 항목을 의미해야 하며VALUE
는 단순히 사용자가 선호하는 값입니다.
쿠키를 설정하는 예:
document.cookie = 'username=John Ricks';
여기에서 쿠키는 username
을 이름으로, 값은 John Ricks
로 저장됩니다.
출력:
쿠키 만료 날짜 설정
쿠키는 코드에 설정된 사용자의 만료 날짜에 따라 자동으로 만료됩니다. 만료 날짜를 설정하지 않으면 사용자가 브라우저를 닫을 때 쿠키가 제거되어 사용자가 웹 페이지를 방문할 때 쿠키 값을 다시 사용할 수 없습니다.
아래 예와 같이 세미콜론으로 구분된 시간 표준인 UTC (Universal Time Coordinated)
에 expires=DATE
를 추가하기만 하면 쿠키의 만료 날짜를 설정하여 이 문제를 무시할 수 있습니다.
document.cookie = 'username=John Ricks; expires=Wed, 31 Aug 2022 21:00:00 UTC';
출력:
쿠키 경로 설정
경로
매개변수를 사용하여 사용자는 디렉토리 또는 웹 페이지에서 쿠키가 속한 경로를 브라우저에 알릴 수 있습니다. 기본적으로 쿠키는 사용자가 액세스하는 현재 페이지에 속합니다.
디렉토리나 웹 페이지에서 쿠키를 가져온 후에는 이 경로가 비어 있을 수 있습니다. 이 매개변수는 사용자 컴퓨터에서 쿠키가 저장되는 위치를 수정하며 찾기 어렵기 때문에 중요한 정보를 저장할 때 유용합니다.
아래 코드와 같이 쿠키에 경로
를 추가할 수 있습니다.
document.cookie =
'username=John Ricks; expires=Wed, 31 Aug 2022 21:00:00 UTC; path=/'
출력:
또한 필요에 따라 쿠키 설정 시 도메인
및 보안
을 추가할 수 있습니다. 도메인을 추가하는 목적은 다른 하위 도메인에 대한 쿠키를 허용하는 것입니다.
보안 부분은 기본값이 빈 필드인 false
인 부울 값입니다. 쿠키가 보안으로 표시된 경우 값은 true
이므로 쿠키는 웹 서버로 전송되고 보안 통신 채널을 통해서만 검색될 수 있습니다.
setCookie()
기능
쿠키 값을 하드 코딩하지 않고 JavaScript 기능을 사용하여 쿠키 값을 설정할 수 있으며, 이는 대부분의 경우 유용성이 제한될 수 있습니다. 아래 코드는 setCookie()
함수를 정의합니다.
let username = 'John Ricks';
// To set a cookie
function setCookie(cookie_name, cookie_value, expire_date) {
const c_d = new Date(); // current date
c_d.setTime(c_d.getTime() + (expire_date * 24 * 60 * 60 * 1000));
let expires = 'expires=' + c_d.toUTCString();
document.cookie =
cookie_name + '=' + cookie_value + '; ' + expires + '; path=/';
}
// to apply setCookie
setCookie('username', username, 20);
출력:
이 기능은 username
이라는 이름과 John Ricks
의 값을 가진 쿠키를 생성하고 생성한 날로부터 20
일의 만료 날짜를 갖습니다.
마찬가지로 JavaScript 함수를 사용하여 getCookie()
함수를 생성하여 쿠키를 얻을 수 있으며 필요한 경우 쿠키를 업데이트하거나 삭제할 수도 있습니다.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.