본문 바로가기

백엔드/nodeJS

Sessions and Cookies

웹사이트에 로그인할 때마다 나를 기억하는 것은 백엔드가 브라우저에게 텍스트를 주기 때문인다. 매번 연결할 때마다 새로운 세션 ID를 전달하게 되는데 세션을 통해 백엔드와 브라우저간에 어떤 활동을 했는지, 정보들을 기억할 수 있게 된다. 쿠키에 저장된 세션 ID로 서버는 해당 브라우저가 누구인지 기억할 수 있게 된다. (크롬, 사파리 브라우저에 따라 받는 정보는 달라진다. (예) 동일한 유저가 크롬에서 ID 1을 받았다면 사파리에서는 1과 다른 숫자를 받게된다.) 세션과 세션 ID는 브라우저를 기억하는 방식 중 하나이다.

보통의 웹사이트는 stateless 성질을 가진다. stateless란 서버와 브라우저간의 연결을 계속 유지하는 것이 아닌 필요시 연결했다가 끊기게 된다. Home화면으로 get 요청을 하게 되면 백엔드에서는 해당 페이지를 render해주고 브라우저와의 연결을 끊는다.

저장된 쿠키 값

백엔드와 브라우저 사이에 기억을 유지하게 하기 위해 Session 미들웨어를 설치해야한다. 이 미들웨어는 로그인하지 않아도 사이트로 들어오는 모든 것들을 기억하게 된다.단 서버를 재시작할  때마다 세션(쿠키)는 초기화된다. 그래서 나중에는 세션을 mongoDB와 연결해 잊어버리지 않게 할 수있다. 세션ID 값을 통해 클라이언트에 요청하는 유저를 알 수 있다. 

 

 

npm i express-session

 

express-session

Simple session middleware for Express. Latest version: 1.17.3, last published: a year ago. Start using express-session in your project by running `npm i express-session`. There are 4670 other projects in the npm registry using express-session.

www.npmjs.com

더보기

 

 

반응형

'백엔드 > nodeJS' 카테고리의 다른 글

File Upload - multer middleware  (0) 2023.07.27
connect-mongo (cookie, session, env)  (0) 2023.07.23
브라우저 Status Code  (0) 2023.07.16
express (6) - GET / POST  (0) 2023.06.25
express (5) - absolute / relative URL  (0) 2023.06.25