[Node.js] 익스프레스 - 쿠키 처리하기

쿠키 처리하기

쿠키는 클라이언트 웹 브라우저에 저장되는 정보이며, 세션은 웹 서버에 저장되는 정보이다. 이번 글에서는 쿠키 처리 방법을 알아보자. 쿠키는 일정 기간동안 저장하고 싶을 때 사용한다. 익스프레스에서는 cookie-parser 미들웨어를 사용하면 쿠키를 설정, 확인할 수 있다.

cookie-parser 미들웨어는 외부 모듈이므로 cmd에서 npm i cookie-parser --save 로 설치하고 코드를 작성한다.

var express = require('express'),
    http = require('http'),
    path = require('path'),
    bodyParser = require('body-parser'),
var cookieParser = require('cookie-parser');
var app = express();
app.use(express.cookieParser());
app.use(bodyParser.urlencoded({
    extended: false
}));
app.use(bodyParser.json());
var router = express.Router();
router.route('/process/showCookie').get(function(req, res) {
    console.log('process/showCookie 호출됨');
    res.send(req.cookies);
});
router.route('/process/setUserCookie').get(function(req, res) {
    console.log('process/setUserCookie 호출됨');
    res.cookie('user', {
        id: 'zini',
        name'지니',
        authorized: true
    });
    res.redirect('process/showCookie');
});
app.use('/', router);
http.createServer(app).listen(3000function () {
    console.log('Express 서버가 3000번 포트에서 시작');
})
cs

get() 메소드로 /process/showCookie와 /process/setUserCookie 패스를 처리하는 콜백 함수를 등록한다. 클라이언트의 쿠키 정보는 cookies 객체에 들어 있는데 사용자가 응답 문서를 조회할 떄 쿠키 정보를 볼 수 있도록 /process/showCookie 패스를 처리하는 함수에서 이 쿠키 객체를 응답으로 보낸다.

/process/setUserCookie 패스를 처리하는 함수에서는 응답 객체의 cookie() 메소드로 user 쿠키를 추가한다. 그러면 쿠키가 클라이언트 웹 브라우저에 설정되는데 마지막 코드 부분에서 redirect() 메소드로 /process/showCookie 패스를 다시 요청한다.

파일을 실행 후 localhost:3000으로 접속하고 크롬 개발자 도구에서 Application - Cookies 항목에서 'user'로 추가된 쿠키를 확인할 수 있다.

댓글 없음:

Powered by Blogger.