정의 : 서버가 사용자의 브라우저에 저장하는 작은 데이터 파일.
주요 목적 : 사용자의 상태를 유지하거나 개인화된 경험 제공.
(예 : 로그인 정보, 장바구니)
특징
정의 : 서버 측에서 특정 사용자의 상태나 정보를 유지하는
임시 저장 공간.
주요 목적 : 사용자가 웹사이트를 탐색하는 동안 상태를 유지한다.
(예 : 로그인 여부)
특징
HTML5에서 도입된 클라이언트 측 데이터 저장 방식으로,
로컬 스토리지와 세션 스토리지 두 가지 종류가 있다.
정의 : 클라이언트 측에서 데이터를 영구적으로 저장.
(사용자가 명시적으로 삭제할 때까지 유지)
특징
정의 : 클라이언트 측에서 데이터를 임시로 저장,
브라우저 탭이나 창을 닫으면 데이터가 삭제된다.
특징

🖥️
// 쿠키 설정하기 (만료일 설정 포함)
document.cookie = "username=JohnDoe; expires=Fri, 31 Dec 23:59:59 GMT; path=/";
// 쿠키 가져오기
console.log(document.cookire);
// 특정 쿠키 값 파싱하기
function getCookie(name) {
let cookieArr = document.cookie.split('; ');
for (let cookie of cookieArr) {
let [key, value] = cookie.split("=");
if (key === name) return value;
}
return null;
}
console.log(getCookiet("username"));
// 쿠키 삭제하기
document.coookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
🖥️
const express = require('express');
const session = require('session');
const app = express();
app.use(session({
secret: 'secret-key', // 세션 암호화에 사용될 키
resave: false, // 세션이 수정되지 않아도 저장할지 여부
saveUnintialized: true, // 초기화되지 않은 세션도 저장할지 여부
}));
// 세션에 데이터 저장
app.get('/login', (req, res) => {
req.session.username = 'JohnDoe';
res.send('Logged in!');
})
// 세션 데이터 접근
app.get('profile/', (req, res) => {
if (req.session.username) {
res.send(`Welcome, ${req.session.username}!`);
} else {
res.send('Please log in.');
}
});
// 세션 종료
app.get('/logout', (req, res) => {
req.session.destroy(() => {
res.send('Logged out!');
});
});
app.listen(3000, () => console.log('Server running on port 3000'));
🖥️
// 데이터 저장하기
localStorage.setItem('username', 'JohnDoe');
// 데이터 가져오기
let username = localStorage.getItem('usename');
console.log(username); // "JohnDoe"
// 데이터 삭제하기
localStorage.removeItem('username');
// 모든 데이터 삭제하기
localStorage.clear()
🖥️
// 데이터 저장하기
sessionStorage.setItem('sessionKey', 'someValue');
// 데이터 가져오기
let sessionData = sessionStorage.getItem('sessionKey');
console.log(sessionData);
// 데이터 삭제하기
sessionStorage.removeItem('sessionKey');
// 모든 데이터 삭제하기
sessionStorage.clear();