브라우저가 아닌 서버에 저장되는 쿠키를 의미
ex. 사용자가 서버에 접속한 시점 ~ 연결을 끝내는 시점 : 로그인 유지시키는 역할
1) 사용자가 최초로 서버 연결을 하면 하나의 Session-ID(임의의 긴 문자열) 발행
2) 발행 된 Session-ID 는 서버와 브라우저의 메모리에 쿠키 형태로 저장
3) 서버는 사용자가 서버에 접근 시, 쿠키에 저장 된 Session-ID를 통해서 서버는 사용자를 구분하고 요청에 대한 응답
npm i express-session -s
const session = require('express-session’);
const app = express();
app.use(refl
session({
secret: 'tetz',
resave: false,
saveUninitialized: true,
cookie: {
maxAge: 1000 60 60,
},
})
);
✅ secret
: 세션을 발급할 때 사용되는 키 값(아무거나 입력 가능)
✅ resave
: 모든 request 마다 기존에 있던 session에 아무런 변경사항이 없어도 session 을 다시 저장하는 옵션
✅ saveUninitialized
: 세션에 저장할 내역이 없더라도 처음부터 세션을 생성할지 설정
✅ secure
: https 에서만 세션을 주고받을 수 있습니다. http 에서는 세션을 주고받는 것이 불가능
✅ cookie
: 세션 쿠키 설정 (세션 관리 시 클라이언트에 보내는 쿠키)
✅ maxAge
: 쿠키의 생명 기간이고 단위는 ms
✅ httpOnly
: 자바스크립트를 통해서 세션을 사용할 수 없도록 강제