🌿 중급 백엔드
Authorization 헤더가 뭔가요?
쉽게 이해하기
회원 전용 헬스장에 입장할 때 회원증을 보여주는 것과 같아요. 문 앞에서 회원증을 제시하면 직원이 확인하고 들여보내주죠. Authorization 헤더는 API 서버에 '나 회원이야'라고 증명하는 디지털 회원증이에요.
핵심 정리
API 요청 시 사용자 인증 정보를 담아 보내는 HTTP 헤더입니다.
자세히 알아보기
Authorization 헤더는 HTTP 요청에 포함되는 헤더 중 하나로, 사용자가 누구인지 증명하는 정보를 담고 있어요. 로그인이 필요한 API를 호출할 때 반드시 필요합니다.
가장 흔한 형식은 'Bearer 토큰' 방식이에요. 로그인에 성공하면 서버가 JWT 같은 토큰을 발급해주고, 이후 요청마다 `Authorization: Bearer abc123xyz` 같은 형식으로 토큰을 헤더에 담아 보냅니다. 서버는 이 토큰을 검증해서 요청한 사람이 누구인지 확인하고, 권한이 있으면 요청을 처리해줘요.
예를 들어 내 프로필을 조회하는 API를 호출한다면, Authorization 헤더에 로그인 토큰을 넣어야 합니다. 헤더가 없거나 잘못된 토큰을 보내면 401 Unauthorized 에러가 돌아와요. 토큰은 맞지만 권한이 부족하면 403 Forbidden이 나타나고요.
Authorization 헤더는 보안상 중요하기 때문에 절대 URL 파라미터로 보내면 안 돼요. 헤더는 HTTPS로 암호화되지만, URL은 브라우저 히스토리나 서버 로그에 남을 수 있거든요. 또한 토큰은 로컬 스토리지나 쿠키에 안전하게 저장해야 합니다.
API 개발자라면 Authorization 헤더를 검증하는 미들웨어를 만들어서 보호가 필요한 엔드포인트에 적용해요. 프론트엔드 개발자는 로그인 후 받은 토큰을 저장해두고, 매 요청마다 Authorization 헤더에 자동으로 포함시키는 코드를 작성합니다. 이 헤더 하나가 API 보안의 핵심이에요.