Node
cookie-parser모듈
jennyiscoding
2022. 7. 4. 12:07
cookie-parser 모듈
쿠키를 쉽게 설정하고 사용할 수 있게 도와주는 모듈로, 익스프레스 객체에 미들웨어로 등록하여 사용한다.
설치방법 : npm i cookie-parser
예제를 써보자.
2가지를 import한다.
쿠키파서는 cp라는 변수에 넣고, app.use(cp()); 로 미들웨어로 등록하여 사용한다.
const express = require("express");
const cp = require("cookie-parser");
const app = express();
app.use(cp());
그 밑에 쿠키를 셋팅하는 코드를 써보겠다.
쿠키를 만들 때, resp.cookie로 만든다.
key값으로 member를 사용한다.
member에다가 value를 객체로 썼다. {id:'apple',name:'김사과',gender:'남성'}
마지막에는 쿠키생성 옵션을 쓴다. maxAge쿠키가 지속되는 시간을 의미함.
마지막에는 showcookie로 요청을 새롭게 보낸다.
app.get('/setcookie',(req,resp)=>{
resp.cookie(
'member',
{id:'apple',name:'김사과',gender:'남성'},
{maxAge:1000*60*3} //3분
)
resp.redirect('/showcookie');
})
naver를 보면 Request Headers에 cookie가 이렇게 날라오고 있음을 볼수있다.
내 컴퓨터에서 네이버로 보내고있는 것이다.
이제 showcookie 요청을 써보자.
app.get('/showcookie',(req,resp)=>{
resp.send(req.cookies);
//resp.send는 페이지로 표현해주는것.
//req.cookies를 페이지로 표현해준다.
resp.end();
//쿠키는 naver로 요청을 보낼 때 requires:header부분에 쿠키가 포함된 채 날라온다.(F12)
//req에 쿠키가 포함되어있다.
//그래서 그중에 쿠키를 꺼냄.
})
전체코드 :
const express = require("express");
const cp = require("cookie-parser");
const app = express();
app.use(cp());
app.get('/setcookie',(req,resp)=>{
console.log('setcookie 호출');
resp.cookie(
'member',
{id:'apple',name:'김사과',gender:'남성'},
{maxAge:1000*60*3}
)
resp.redirect('/showcookie');
})
app.get('/showcookie',(req,resp)=>{
console.log('showcookie호출');
resp.send(req.cookies);
resp.end();
})
app.listen(3000,()=>{
console.log('치즈버거 3000원');
})