[nodejs] REST API를 위한 헤더 및 쿠키 처리

Node.js를 사용하여 REST API를 개발할 때, 헤더와 쿠키는 중요한 요소입니다. 이들을 올바르게 처리하고 활용하는 것은 API의 보안과 성능을 유지하는 데 도움이 됩니다.

헤더 처리

요청 헤더

클라이언트의 요청에 포함된 헤더를 처리하는 것은 중요합니다. 이러한 헤더는 인증, 쿠키, 캐싱 등에 활용될 수 있습니다. Express.js에서는 req.headers를 통해 요청 헤더에 접근할 수 있습니다.

app.get('/api/resource', (req, res) => {
  const authToken = req.headers.authorization;
  // 헤더 활용 로직
});

응답 헤더

서버가 클라이언트에게 보내는 응답 헤더를 설정하는 것도 중요합니다. 이를 통해 캐싱, 인증, CORS 등을 관리할 수 있습니다. Express.js에서는 res.set() 메서드를 사용하여 응답 헤더를 설정할 수 있습니다.

app.get('/api/resource', (req, res) => {
  // 비즈니스 로직 처리
  res.set('Cache-Control', 'no-cache');
  res.json({ data: 'resource' });
});

쿠키 처리

쿠키 설정

클라이언트에 쿠키를 설정하여 상태를 유지하는 것은 매우 유용합니다. Express.js에서는 res.cookie() 메서드를 사용하여 쿠키를 설정할 수 있습니다.

app.get('/api/login', (req, res) => {
  // 사용자 로그인 처리
  res.cookie('userToken', 'tokenValue', { maxAge: 900000, httpOnly: true });
  res.send('Login successful');
});

쿠키 읽기

클라이언트로부터 전송된 쿠키를 읽어와 활용할 수 있습니다. 이를 통해 사용자의 상태를 파악하고 필요한 처리를 할 수 있습니다.

app.get('/api/userinfo', (req, res) => {
  const userToken = req.cookies.userToken;
  // 쿠키를 활용한 로직
});

위의 내용을 참고하여, Node.js를 사용하여 REST API를 개발할 때 헤더 및 쿠키를 올바르게 처리하는 방법을 이해할 수 있습니다.

참고 자료