인프런 커뮤니티 질문&답변
헤더 압축부분 질문드립니다
작성
·
20
답변 2
0
안녕하세요 recon님ㅎㅎ
예시로 드신 이미지에는 동일헤더가 포함되어있는데 그럼 헤더중복을 제거되지 않은것으로 보이는데 맞을까요?
-> 아닙니다.
저렇게 보여도 네트워크 프로토콜을 보시면

앞의 그림처럼 http2를 사용하는 것을 알 수 있습니다.
때문에 헤더 중복을 처리했다고 보시면 됩니다.
자세히는 다음과 같습니다.
HTTP/2 계층에서 HPACK으로 헤저를 압축 → 네트워크 전송
이후 클라이언트가 브라우저로 컨텐츠를 수신할 때
HPACK 디코딩 → 각각의 컨텐츠가 원래의 헤더로 복원 → 브라우저에 전달
이 때문에 개발자 도구(Network 탭) 에서는 여전히 “모든 헤더가 다 있는 것처럼” 보이는 것입니다.
참고로
HTTP/2는 여러 요청을 하나로 합쳐서 보내는 게 아닙니다. 대신 각 요청의 헤더를 인덱스 기반으로 압축해서 전송합니다. (즉, 헤더의 중복을 제거하지, 요청 자체를 합치는 것은 아닙니다. )
예를 들어, 5개의 요청이 있고 모두 cookie: session=kundol 를 포함한다면: 첫 요청에서는 실제 문자열 "cookie: session=kundol" 전송 이후 4개의 요청은 “이전 헤더 테이블의 #7번 참조”처럼 단 1바이트로 전송해서 처리를 합니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다. 김진동님.
네트워크 통신에서 헤더 압축 과정은 매우 중요합니다. 이를 통해 데이터 전송 효율성을 높일 수 있기 때문입니다. 강의에서 사용된 네이버 이미지를 예시로 들었을 때, 동일한 헤더가 보였다는 것은, 해당 예시가 단순히 설명 목적으로 사용된 것일 수 있습니다. 실제로 HTTP/2와 같은 프로토콜에서는 ‘헤더 압축’을 통해 중복되는 헤더들을 제거하여 전송 효율성을 더 높이게 됩니다. 이 과정은 실제 데이터 전송 시에 서버와 클라이언트 사이에서 자동적으로 처리됩니다.
서버에서 헤더를 전송할 때, 클라이언트에서는 이러한 헤더들을 기반으로 캐시 처리 및 데이터 통신 효율화를 하게 됩니다. 클라이언트 측에서는 이러한 압축된 헤더를 해제하며, 중복되는 헤더가 있을 경우 이를 인식하고 처리할 수 있습니다.
관련된 네트워크 강의는 아래와 같이 링크를 첨부하여 설명되어 있습니다:
- 과정 중 리다이렉트와 캐싱에 대한 네트워크 과정 설명 - 리다이렉트와 캐싱을 포함한 네트워크 통신의 흐름에 대해 자세히 설명되어 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





