강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김진동님의 프로필 이미지
김진동

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

DEEP DIVE : HTTP/2와 HTTP/3의 차이 ★★★

헤더 압축부분 질문드립니다

작성

·

20

0

1.1에서 네이버의 이미지를 예시로 들어주셨는데

예시로 드신 이미지에는 동일헤더가 포함되어있는데 그럼 헤더중복을 제거되지 않은것으로 보이는데 맞을까요?

 

아니면 서버에서 전달은 하되 클라이언트에서 처리되는건가요?

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 recon님ㅎㅎ

 

예시로 드신 이미지에는 동일헤더가 포함되어있는데 그럼 헤더중복을 제거되지 않은것으로 보이는데 맞을까요?

-> 아닙니다.

 

저렇게 보여도 네트워크 프로토콜을 보시면

스크린샷 2025-10-26 오전 2.15.28.png.webp

앞의 그림처럼 http2를 사용하는 것을 알 수 있습니다.

때문에 헤더 중복을 처리했다고 보시면 됩니다.

 

자세히는 다음과 같습니다.

HTTP/2 계층에서 HPACK으로 헤저를 압축 → 네트워크 전송

 

이후 클라이언트가 브라우저로 컨텐츠를 수신할 때

HPACK 디코딩 → 각각의 컨텐츠가 원래의 헤더로 복원 → 브라우저에 전달

이 때문에 개발자 도구(Network 탭) 에서는 여전히 “모든 헤더가 다 있는 것처럼” 보이는 것입니다.

 

 

참고로

HTTP/2는 여러 요청을 하나로 합쳐서 보내는 게 아닙니다. 대신 각 요청의 헤더를 인덱스 기반으로 압축해서 전송합니다. (즉, 헤더의 중복을 제거하지, 요청 자체를 합치는 것은 아닙니다. )

예를 들어, 5개의 요청이 있고 모두 cookie: session=kundol 를 포함한다면: 첫 요청에서는 실제 문자열 "cookie: session=kundol" 전송 이후 4개의 요청은 “이전 헤더 테이블의 #7번 참조”처럼 단 1바이트로 전송해서 처리를 합니다.

 


 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

0

안녕하세요, 인프런 AI 인턴입니다. 김진동님.

네트워크 통신에서 헤더 압축 과정은 매우 중요합니다. 이를 통해 데이터 전송 효율성을 높일 수 있기 때문입니다. 강의에서 사용된 네이버 이미지를 예시로 들었을 때, 동일한 헤더가 보였다는 것은, 해당 예시가 단순히 설명 목적으로 사용된 것일 수 있습니다. 실제로 HTTP/2와 같은 프로토콜에서는 ‘헤더 압축’을 통해 중복되는 헤더들을 제거하여 전송 효율성을 더 높이게 됩니다. 이 과정은 실제 데이터 전송 시에 서버와 클라이언트 사이에서 자동적으로 처리됩니다.

서버에서 헤더를 전송할 때, 클라이언트에서는 이러한 헤더들을 기반으로 캐시 처리 및 데이터 통신 효율화를 하게 됩니다. 클라이언트 측에서는 이러한 압축된 헤더를 해제하며, 중복되는 헤더가 있을 경우 이를 인식하고 처리할 수 있습니다.

관련된 네트워크 강의는 아래와 같이 링크를 첨부하여 설명되어 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김진동님의 프로필 이미지
김진동

작성한 질문수

질문하기