쿠키(cookie)란
웹서버의 정보를 웹브라우저에 저장해서 개인화, 인증, 사용자 추적 등의 기능을 구현할 수 있도록 해주는 것이다.
이번 글에서는 nodejs를 사용하여 쿠키를 알아본다.
1. 생성
//http 모듈을 사용하여 간단하게 서버를 구축 var http = require('http'); http.createServer(function(request, response){ //request에 대한 response가 정상적으로 성공하였을 경우, 'Set-Cookie'로 쿠키를 생성하는 코드이다. //아래에서는 배열의 요소로서 차례대로 입력하여 'yummy-cookie=choco'와 'tasty-cookie=strawberry' 두 개의 쿠키를 생성한다. response.writeHead(200, { 'Set-Cookie':['yummy-cookie=choco', 'tasty-cookie=strawberry'] }); response.end('Cookie!') }).listen(3000);
2. 읽기
: 쿠키에 대한 parse를 용이하게 하기 위하여 'npm install -s cookie'로 설치한 모듈을 적용한다.
var http = require('http'); var cookie = require('cookie'); http.createServer(function(request, response){ var cookies = {}; if(request.headers.cookie !== undefined){ cookies = cookie.parse(request.headers.cookie); } response.writeHead(200, { 'Set-Cookie':['yummy-cookie=choco', 'tasty-cookie=strawberry'] }); response.end('Cookie!') }).listen(3000); //console.log(cookies.yummy-cookie === 'choco') 는 true가 될 것이다.
3. 휘발성 쿠키 (Session Cookies) vs 영구적 쿠키 (Permanent Cookies)
: 웹 브라우저를 껐다 켜도 남아있는 것을 영구적 쿠키, 없어지는 것을 휘발성 쿠키라고 한다.
'Set-Cookie':[ 'yummy-cookie=choco', 'tasty-cookie=strawberry', `Permanent=Cookies: Max-Age=${60}` ] // Max-Age를 추가하면 초 단위로 쿠키의 수명을 지정할 수 있다.
비동기 작업들(Async Processes)과 시한폭탄(timeout) (2) | 2020.07.15 |
---|---|
Javascript 엔진 (0) | 2019.08.31 |
190824 오늘의 Keyword (0) | 2019.08.24 |
190823 오늘의 Keyword (0) | 2019.08.23 |
Try & Catch, 인생은 시도와 에러 처리 (0) | 2019.08.22 |
댓글 영역