헤더는 HTTP 요청과 응답에 추가 정보를 제공하는 키-값 쌍입니다. 이 정보는 서버와 클라이언트가 서로의 요구사항, 능력, 상태 등을 이해하는 데 도움이 됩니다. 주요한 헤더들은 다음과 같습니다:
요청이나 응답의 바디가 어떤 데이터 형식인지 나타냅니다. 예를 들어, application/json, application/xml, text/html 등이 있습니다.
클라이언트가 이해하고 처리할 수 있는 응답의 콘텐츠 타입을 나타냅니다.
사용자 인증 정보를 포함합니다. 보통 토큰 기반 인증(Bearer Token)이나 기본 인증(Basic Auth)에 사용됩니다.
클라이언트의 애플리케이션 타입, 운영체제, 소프트웨어 버전 등을 나타냅니다.
캐싱 정책을 정의합니다.
REST API에서 인증은 사용자 또는 클라이언트가 자신의 정체성을 확인하는 과정입니다. 주로 사용되는 인증 방법은 다음과 같습니다:
사용자 이름과 비밀번호를 username:password 형태로 인코딩하여 Authorization 헤더에 실어 보냅니다.
사용자가 로그인을 하면, 서버는 인증 토큰을 발급합니다. 이후의 요청에서 클라이언트는 이 토큰을 Authorization 헤더에 실어 보내 인증을 수행합니다.
예: Bearer 토큰
복잡한 권한 부여와 인증을 위해 사용되는 프레임워크입니다. 예를 들어, 사용자가 서드파티 애플리케이션에 자신의 계정 데이터 접근을 허용할 때 사용됩니다.
서버에 요청을 보낼 때, 클라이언트는 API 키를 함께 전송하여 자신을 인증합니다.