[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를 개발할 때 헤더 및 쿠키를 올바르게 처리하는 방법을 이해할 수 있습니다.