세션이란? 서버가 사용자의 상태를 유지하기 위한 방법.
웹은 HTTP 위에서 동작 → HTTP는 '무상태' 프로토콜
즉, HTTP 요청마다 독립적이라는 뜻!!
다시 말해 서버는 두개의 요청이 같은 사용자로부터 왔는지 알 수X
세션은 사용자가 서버와 상호작용할 때 생성됨.
const express = require('express');
const session = require('express-session');
const app = express();
// 세션 미들웨어 설정
app.use(session({
secret: 'my_secret_key',
resave: false,
saveUninitialized: true,
cookie: { secure: false } // HTTPS를 사용하지 않는 경우 'false'로 설정
}));
// 루트 경로에 대한 요청 처리
app.get('/', (req, res) => {
if (req.session.views) {
req.session.views++;
res.type('text/plain');
res.send(`이 페이지를 ${req.session.views}번 방문했습니다.`);
} else {
req.session.views = 1;
res.type('text/plain');
res.send('첫 방문입니다! 새로고침을 해보세요.');
}
});
// 서버 시작
app.listen(3000, () => {
console.log('3000번 포트에서 서버 대기 중입니다.');
});