[Jquery] $.cookie 사용법


안녕하세요. 명월입니다.


이 글은 Jquery에서 $.cookie를 다루는 방법에 대한 글입니다.


웹 프로그래밍을 하면 쿠키와 세션의 개념이 있습니다. 이 두 개념은 간단하면서도 많은 분이 헤갈리는 개념입니다.

먼저 쿠키(cookie)란 웹서버와 웹 브라우저 간의 정보 공유(share)를 위한 개념입니다. 쿠키 설정은 브라우저와 웹 서버에서 둘 다 할 수 있고, 정보는 브라우저 측에서 보관을 합니다.

브라우저에서는 자바스크립트 등을 이용해서 쿠키를 등록하면 되고 서버 측에서는 response시에 Set-Cookie로 값을 등록하게 됩니다.

세션(Session)의 경우는 브라우저와 웹 서버 간의 정보 공유(share)를 위한 개념인 것은 같으나 정보의 보관 개념을 브라우져가 아닌 서버 측에서 저장하게 됩니다.

이유는 보안상의 여러가지 이유가 있습니다. 세션의 값은 각 브라우저 간의 구별을 위해 세션 키를 생성하고 있고 이 키는 쿠키로 보관되어 공유를 하게 됩니다.

정리하면 값은 서버 측에서 보관이 됩니다만, 그를 가져올 수 있는 키는 쿠키로 보관이 되는 것입니다.

이 세션과 쿠키를 다루는 것에 대해서는 서버 사이드에서는 각 언어별로 다릅니다만 클라이언트에서는 자바스크립트로 컨트롤이 가능하고 Jquery 라이브리리에서 좀 더 쉽게 접근이 가능하게 하였습니다.

//쿠키 쓰기
$.cookie('쿠키 키', '값', { expires: 7 /*유효 기간(일 단위 기준)*/, path: '/' /*도메인과 path가 일치해야 저장된다.*/});
//쿠키 읽기
$.cookie('쿠키 키');
// 쿠키 삭제
$.removeCookie('name', { path: '/' /*path가 있을 경우, 일치해야 삭제된다.*/});
<!DOCTYPE html>
<html>
<head>
  <title>title</title>
  <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
  <script>
    $(function(){
      $.removeCookie('TEST');
      $.cookie('www', 'hello world');
      console.log($.cookie('www'));
    });
  </script>
</head>
<body>
</body>
</html>

여기까지 Jquery에서 $.cookie를 다루는 방법에 대한 글이었습니다.


궁금한 점이나 잘못된 점이 있으면 댓글 부탁드립니다.