쿠키와 세션 이해하기
쿠키(Cookie)와 세션(Session)은 HTTP 프로토콜의 상태 유지를 위한 기술이다. HTTP는 상태를 유지하지 않는 프로토콜이므로, 이를 보완하기 위해 쿠키와 세션을 사용한다.
클라이언트에 저장되는 작은 텍스트 파일로, 이름과 값의 쌍으로 이루어진다. 만료 기간을 설정할 수 있으며, 웹 브라우저를 닫아도 삭제되지 않는다.
서버에서 관리되는 저장 공간으로, 사용자별로 세션 ID를 부여해 구분한다. 웹 브라우저를 닫으면 세션은 종료된다.
쿠키와 세션은 사용자 인증, 장바구니, 개인화 등 다양한 기능을 구현하는 데 사용된다.
document.cookie
를 사용해서 쿠키를 생성하고 읽을 수 있다.// 쿠키 생성
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";
// 쿠키 읽기
let allCookies = document.cookie;
express- session
미들웨어를 예로 든다.const express = require('express');
const session = require('express-session');
let app = express();
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}));
app.get('/', (req, res) => {
req.session.views = (req.session.views || 0) + 1;
res.end(req.session.views + ' views');
});
app.listen(3000);
배운지는 조금 됐던 쿠키와 세션인데, 여태 적용 못 시켜보기도 했고 마침 다시 한번 복습하고 있는 상태라 TIL로 적어본다.