[javascript] Express.js에서의 쿠기 설정 방법

Express.js는 Node.js 기반의 웹 애플리케이션 개발을 위한 빠르고 간결한 프레임워크입니다. 이번 포스트에서는 Express.js에서 쿠키를 설정하는 방법에 대해 알아보겠습니다.

쿠키란?

쿠키는 웹사이트가 사용자의 브라우저에 저장하는 작은 데이터 조각입니다. 이 데이터는 서버와 클라이언트 간의 상태를 유지하거나 사용자의 선호도를 추적하는 데 사용될 수 있습니다.

Express.js에서 쿠키 설정하기

Express.js에서는 쿠키를 설정하기 위해 res.cookie() 메서드를 사용합니다. 이 메서드는 다음과 같은 구문을 가지고 있습니다:

res.cookie(name, value, [options]);

쿠키 설정 예제

아래는 Express.js에서 쿠키를 설정하는 예제입니다.

const express = require('express');
const app = express();

app.get('/set-cookie', (req, res) => {
  res.cookie('username', 'JohnDoe', { maxAge: 900000, httpOnly: true });
  res.send('Cookie has been set');
});

app.listen(3000, () => {
  console.log('Server running on port 3000');
});

위 예제에서 /set-cookie 엔드포인트로 요청이 들어오면 res.cookie() 메서드를 사용하여 username이라는 이름의 쿠키를 설정합니다. 쿠키의 값은 'JohnDoe'이며, maxAge 속성을 사용하여 쿠키의 유효기간을 설정하였고, httpOnly 속성을 true로 설정하여 클라이언트 스크립트에서 쿠키에 접근하지 못하도록 하였습니다.

쿠키 읽기 예제

Express.js에서는 req.cookies 객체를 사용하여 쿠키를 읽을 수 있습니다. 아래는 쿠키를 읽어오는 예제입니다.

app.get('/read-cookie', (req, res) => {
  const username = req.cookies.username;
  res.send(`Hello, ${username}!`);
});

위 예제에서 /read-cookie 엔드포인트로 요청이 들어오면 req.cookies 객체에서 username 쿠키 값을 읽어와서 화면에 출력합니다.

마무리

Express.js에서 쿠키를 설정하고 읽어오는 방법에 대해 알아보았습니다. 쿠키를 사용하여 사용자의 상태를 유지하거나 선호도를 추적하는 등의 기능을 구현할 수 있습니다. Express.js의 res.cookie() 메서드와 req.cookies 객체를 통해 쿠키를 쉽게 다룰 수 있습니다.