컴퓨터 과학/네트워크

HTTP 요청과 응답에서 사용되는 주요 헤더 정리

Data Jun 2025. 10. 5. 13:28

HTTP 통신에서 **헤더(Header)**는 요청(request)과 응답(response) 메시지에 포함되어, 클라이언트와 서버 간의 정보를 전달하는 중요한 역할을 합니다.
이번 글에서는 요청과 응답 시 자주 사용되는 대표적인 HTTP 헤더들을 살펴보겠습니다.

 

 

1. 요청(Request) 시 주로 사용되는 헤더

1️⃣ Host

 Host 헤더는 **요청을 보낼 대상 서버(호스트)**를 명시합니다.
 도메인 이름과 함께 포트 번호가 포함될 수도 있습니다.
 예를 들어, 아래의 HTTP 요청 메시지는 info.cern.ch 서버에 /hypertext/WWW/TheProject.html 리소스를 요청하는 예시입니다.

GET /hypertext/WWW/TheProject.html HTTP/1.1
Host: info.cern.ch

 

2️⃣ User-Agent

 User-Agent 헤더는 요청을 보낸 클라이언트 프로그램의 정보를 담습니다. 
 웹 브라우저, 운영체제, 렌더링 엔진, 브라우저 버전 등의 세부 정보가 포함되어 있으며, 서버는 이를 바탕으로 적절한 응답을 제공   할 수 있습니다.

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0

 


3️⃣ Referer

Referer 헤더는 이전 페이지의 URL을 나타냅니다.
즉, 사용자가 어떤 경로를 통해 현재 요청으로 이동했는지를 서버가 알 수 있게 해주는 역할을 합니다.

Referer: https://en.wikipedia.org/

참고로, 원래 영어 철자는 Referrer가 맞지만, 초기 HTTP 개발 시 오타로 인해 Referer가 표준으로 자리 잡았습니다.

 

4️⃣ Authorization

Authorization 헤더는 클라이언트의 인증 정보를 서버로 전달할 때 사용됩니다.
인증 방식(type)과 자격 증명(credentials)이 함께 명시됩니다.

Authorization: <type> <credentials>

인증 방식에 따라 예시는 다음과 같이 달라질 수 있습니다.

  • Basic 인증: Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
  • Bearer 토큰 인증: Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

 

2. 응답(Response) 시 주로 사용되는 헤더

1️⃣ Server

Server 헤더는 요청을 처리한 서버 소프트웨어의 정보를 명시합니다.
운영체제나 웹 서버 종류(Apache, Nginx 등)가 표시되기도 합니다.

Server: Apache/2.4.1 (Unix)

 

2️⃣ Allow

Allow 헤더는 클라이언트에게 허용된 HTTP 메서드 목록을 알려주는 역할을 합니다.
특히 405 Method Not Allowed 상태 코드와 함께 사용됩니다.

Allow: POST, OPTIONS

즉, 현재 요청된 메서드는 허용되지 않지만, POST나 OPTIONS는 사용할 수 있음을 의미합니다.

 

3️⃣ Retry-After

Retry-After 헤더는 서버가 일시적으로 요청을 처리할 수 없을 때, 재시도 가능한 시점을 알려줍니다.
보통 503 Service Unavailable 응답과 함께 사용됩니다.

Retry-After: Fri, 23 Aug 2024 09:00:00 GMT
Retry-After: 120

위의 예시는 ‘2024년 8월 23일 오전 9시 이후’ 혹은 ‘120초 후’에 다시 요청하라는 의미입니다.

 

4️⃣ Location

Location 헤더는 **리다이렉션 또는 새로 생성된 리소스의 위치(URL)**를 알려줍니다.
주로 3xx 리다이렉션 또는 201 Created 응답에서 함께 사용됩니다.

Location: https://example.com/new-page

 

5️⃣ www-Authenticate 

WWW-Authenticate 헤더는 인증이 필요한 자원에 접근하려 할 때, 인증 방식을 서버가 명시하는 데 사용됩니다.
 401 Unauthorized 상태 코드와 함께 전달됩니다.

WWW-Authenticate: Basic

 

 

3. 요청과 응답 모두에서 사용되는 헤더

1️⃣ Date

Date 헤더는 메시지가 생성된 날짜와 시간을 명시합니다.
요청 또는 응답 모두에서 사용될 수 있으며, 서버의 시각 기준으로 표현됩니다.

Date: Tue, 15 Nov 1994 08:12:31 GMT

 

2️⃣ Connection

Connection 헤더는 클라이언트와 서버 간의 연결 방식을 제어합니다.
대표적인 값은 다음 두 가지입니다.

  • keep-alive: 지속적인 연결 유지
  • close: 응답 후 연결 종료
Connection: keep-alive
Connection: close

 

 

정리하면

구분 대표 헤더 설명
요청(Request) Host, User-Agent, Refer, Authorization 클라이언트와 요청 정보 전달
응답(Response) Sever, Allow, Retry-After, Location, WWW-Authenticate 서버 상태 및 접근 정보 제공
공통(Common) Date, Connection 메시지 생성 시간 및 연결 방식 제어

이처럼 HTTP 헤더는 단순히 요청과 응답을 전달하는 수준을 넘어,
통신의 맥락(Context)과 정책을 정의하는 중요한 요소로 작동합니다.

'컴퓨터 과학 > 네트워크' 카테고리의 다른 글

HTTP 기반 기술: 쿠키(Cookie)  (0) 2025.10.05
HTTP 기반 기술: 캐시(Cache)  (0) 2025.10.05
HTTP 상태 코드 완벽 정리  (0) 2025.10.05
HTTP 메서드란?  (0) 2025.10.05
HTTP 메시지 구조 이해하기  (0) 2025.10.05