-
네트워크 - HTTP 헤더 정리네트워크 2026. 7. 20. 20:45
HTTP 헤더는 HTTP 메시지를 전송하는 데 필요한 모든 부가 정보를 담습니다. 어떤 형식의 데이터를 보내는지, 클라이언트가 어떤 응답을 선호하는지, 인증은 어떻게 할지 등이 전부 헤더에 담깁니다.
1. 헤더 분류
HTTP 헤더는 적용 범위에 따라 크게 4가지로 분류됩니다.
분류 설명 예시 General 헤더 메시지 전체에 적용되는 정보 Connection: close Request 헤더 요청에 대한 정보 User-Agent: Mozilla/5.0 (Macintosh; ..) Response 헤더 응답에 대한 정보 Server: Apache Representation 헤더 표현 데이터 바디에 대한 정보 Content-Type: text/html, Content-Length: 3423 2. 표현(Representation) 헤더
표현 헤더는 주고받는 실제 데이터(바디)의 속성을 설명하는 헤더입니다.
- Content-Type: 표현 데이터의 형식 (예: text/html, application/json)
- Content-Encoding: 표현 데이터의 압축 방식. 데이터를 전송하는 쪽에서 압축을 수행한 뒤 이 헤더를 추가해서, 받는 쪽이 어떤 방식으로 압축이 되어있는지 알고 압축을 해제할 수 있게 해줌.
- Content-Language: 표현 데이터가 어떤 자연 언어(한국어, 영어 등)로 작성되었는지 표현
- Content-Length: 표현 데이터의 길이(바이트 수)
3. 콘텐츠 협상 (Content Negotiation)
콘텐츠 협상은 클라이언트가 서버에게 자신이 선호하는 표현 방식을 요청하는 것입니다.
- Accept: 클라이언트가 선호하는 미디어 타입 전달
- Accept-Charset: 클라이언트가 선호하는 문자 인코딩 전달
- Accept-Encoding: 클라이언트가 선호하는 압축 인코딩 전달
- Accept-Language: 클라이언트가 선호하는 자연 언어 전달
협상의 우선순위: Quality Values(q)
클라이언트가 여러 값을 나열할 때는 Quality Values(q) 값으로 우선순위를 표현합니다.
- q 값은 0~1 사이이며, 값이 클수록 우선순위가 높음
- q 값을 생략하면 기본값은 1
예를 들어 다음과 같은 Accept-Language 헤더가 있다면:
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7우선순위는 다음과 같이 정해지게 됩니다.
순위 값 비고 1 ko-KR q 생략 → 기본값 1 2 ko q=0.9 3 en-US q=0.8 4 en q=0.7 4. 전송 방식 4가지
HTTP는 상황에 따라 데이터를 다른 방식으로 전송할 수 있습니다.
전송방식 특징 단순 전송 Content-Length를 알고 있을 때 한 번에 전송 압축 전송 Content-Encoding으로 압축 방식을 명시하고 압축해서 전송 분할 전송 Transfer-Encoding: chunked를 사용해 데이터를 여러 조각으로 나누어 전송 범위 전송 클라이언트가 원하는 범위(Range)만 지정해서 요청/응답 5. 일반 정보 헤더
- Referer: 이전 웹페이지의 주소가 담기는 헤더로, 주로 유입 경로 분석에 활용
- User-Agent: 클라이언트의 애플리케이션(웹 브라우저 등) 정보를 담음. 어떤 브라우저 환경에서 장애가 발생하는지 로그로 파악할 때 유용함
- Server: 요청을 처리하는 origin 서버의 소프트웨어 정보를 담음
- Date: 메시지가 생성된 날짜와 시각을 담음
- Host: 요청한 호스트(도메인) 정보를 담으며, 요청 시 필수값. 하나의 서버가 여러 도메인을 처리하는 가상 호스팅 환경에서, 어떤 도메인으로 온 요청인지 구분하기 위해 반드시 필요.
6. 인증 헤더
- Authorization: 클라이언트의 인증 정보를 서버에 전달하는 헤더
- WWW-Authenticate: 리소스에 접근하기 위해 필요한 인증 방법을 정의하는 헤더 (서버가 401 응답과 함께 내려줌)
'네트워크' 카테고리의 다른 글
네트워크 - 쿠키(Cookie) (0) 2026.07.20 네트워크 - HTTP의 특징과 속성 (0) 2026.07.20 네트워크 - IP(Internet Protocol) 그리고 TCP와 UDP (0) 2026.07.20