[내일배움캠프] TIL_221219

JungHoon Han·2022년 12월 19일
0

내일배움캠프

목록 보기
33/78

노드js 숙련과정

오늘부터 노드 숙력과정을 시작했다.
지난주에 암호화작업없이 패스워드 구현을 했다면 이번주에는 드디어 JWT를 이용한 로그인기능을 구현한다.
지난번 팀프로젝트때 구현하려다 실패했었는데 이렇게 바로 배우니 좋다.

  • 쿠키(Cookie)
    쿠키는 브라우저가 서버의 응답으로 Set-Cookie Header를 받은 경우 해당 데이터를 저장한 뒤 모든 요청에 포함하여 보낸다.
    - 데이터를 여러 사이트에 공유할 수 있기 떄문에 보안에 취약할 수 있다.
    - 쿠키는 userId=user-1321;userName=sparta 와 같이 문자열 형식으로 존재하며, 쿠키간에는 세미콜론 ' ; ' 으로 구분한다.
  • 세션(Session)
    쿠키를 기반으로 구성된 기술이지만 데이터를 서버에만 저장하기 때문에 보안이 좋으나 반대로 사용자가 많은 경우 서버에 저장해야 할 데이터가 많아져서 서버컴퓨터가 감당하지 못하는 문제가 생기기 쉽다.

쿠키 할당하기

Set-Cookie를 이용한 쿠키 할당 하기
app.get("/set-cookie", (req, res) => {
  const expire = new Date();
  expire.setMinutes(expire.getMinutes() + 60); // 만료 시간을 60분으로 설정합니다.

  res.writeHead(200, {
    'Set-Cookie': `name=sparta; Expires=${expire.toGMTString()}; HttpOnly; Path=/`,
  });
  return res.status(200).end();
});

res.cookie()를 이용하여 쿠키 할당하기
app.get("/set-cookie", (req, res) => {
  const expires = new Date();
  expires.setMinutes(expires.getMinutes() + 60); // 만료 시간을 60분으로 설정합니다.

  res.cookie('name', 'sparta', {
    expires: expires
  });
  return res.status(200).end();
});
profile
Node.js 주니어 개발자

0개의 댓글