본문 바로가기
프로그래밍/nodejs

[220314] 미들웨어 body-parser와 cookie-parser

by 한코코 2022. 3. 14.

body-parser

node.js의 모듈 중 하나이며, post request body에서 파라미터를 편리하게 추출해주는 미들웨어다.

app.post('/login',(req,res)=>{
	console.log(req.body)
}

가장 흔하게 쓰는 예시인 req.body는 사실 body-parser를 사용하지 않는다면 디폴트로 설정된 Undefined값이 나온다.

그래서 이 값을 읽어오기 위해 필수적으로 body-parser 라이브러리를 설치해야만한다.

하지만 express에 body-parser가 기본적으로 포함되어있으므로 express만 설치해주면 같이 사용이 가능하다.

 

 

 

cookie-parser

node.js의 모듈 중 하나이며, request 객체에 cookie 속성을 부여하는 미들웨어다.

key값과 value값을 지정해서 쿠키를 저장, 생성, 삭제를 간편하게 할 수 있다.

const cookieParser = require('cookie-parser')

app.use(cookieParser())

//쿠키 생성
app.get('/',(req,res)=>{
	res.cookie('key값','value값',{옵션값})
})

//쿠키 삭제
//경로를 설정한 쿠키는 path옵션을 줘서 삭제 가능
res.clearCookie('key값',{path:'/'})

 

 

쿠키생성 이해하기

res.setHeaders를 이용하여 헤더값에 쿠키를 생성하는 코드와

cookie-parser를 사용해서 쿠키를 생성하는 코드를 적어놓았다.

모양은 다르지만 쿠키를 생성한다는 같은 결과를 반환한다.

res.setHeader('Set-cookie','name=ingoo; path=/; Domain=localhost;')

res.cookie('name2','ingoo2',{
    path:'/',
    httpOnly:true,
    secure:true,
    domain:'localhost'
})

 

 

 

쿠키 옵션값

  • maxAge : 만료 시간을 밀리초 단위로 설정
  • expires : 만료 날짜를 GMT 시간으로 설정
  • path : cookie의 경로 default “/“
  • domain : 도메인 네임 default “loaded”
  • secure : https에서만 cookie 사용 가능하게 함.
  • httpOnly : 웹서버를 통해서만 cookie 접근 가능하게 함
  • signed : cookie가 서명되어야 할 지를 결정.

 

참조

 

댓글