정의
HTTP 요청과 응답에서 헤더가 차지하는 추가적인 데이터 부담을 가질 수 있습니다.
HTTP는 요청과 응답에 다양한 헤더 정보를 포함합니다.
콘텐츠의 형식, 인코딩, 인증 정보, 캐시 정책 등 메타데이터를 포함하지만, 데이터 전송량을 증가시키는 단점도 있습니다.
이러한 부담을 헤더 오버헤드(Header Overhead)라고 합니다.
특징
헤더는 유용하지만 전송 효율성에 영향을 미칠 수 있습니다.
💡 메타정보 전달: 클라이언트와 서버 간의 의사소통을 위한 중요 수단
💡 문자열 기반: HTTP/1.0, HTTP/1.1은 텍스트 기반으로, 같은 헤더가 반복될 수 있음
💡 대역폭 증가: 헤더가 많아질수록 전체 메시지 크기가 커짐
💡 성능 저하 가능: 헤더 파싱 비용, 네트워크 전송 시간 증가
💡 HTTP/2의 개선: 헤더 압축(HPACK) 기술로 오버헤드 감소
사용 예시
헤더 오버헤드가 영향을 미치는 실제 사례입니다.
💡 모바일 환경: 제한된 네트워크에서 과도한 헤더는 로딩 지연 유발
💡 대규모 API 통신: 수많은 요청이 반복될 때 헤더 크기로 인해 총 전송량 증가
💡 보안 토큰 전달: Authorization 헤더 사용 시, 불필요하게 큰 토큰은 오버헤드 유발
코드 예시
과도한 헤더가 포함된 HTTP 요청의 경우입니다.
GET /api/data HTTP/1.1
Host: example.com
User-Agent: MyApp/1.0
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6...
Accept: application/json
Accept-Language: ko-KR
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: sessionId=abc123; theme=dark; layout=wide