Learning
토픽 45 / 147·네트워크 기초 및 프로토콜

HTTP/2

HTTP/2

HTTP/1.1의 성능 한계를 극복한 바이너리 기반 프로토콜 (RFC 7540, 2015)

멀티플렉싱: 하나의 TCP 연결에서 다수의 스트림을 동시 전송, HOL Blocking 해결 (L7 레벨)

바이너리 프레이밍: 텍스트 → 바이너리 프레임으로 변환, 파싱 효율/오류 감소

  • 프레임 구조: Length(3B) + Type(1B) + Flags(1B) + Stream ID(4B) + Payload
  • 프레임 유형: HEADERS, DATA, SETTINGS, PUSH_PROMISE, RST_STREAM 등

HPACK 헤더 압축: 정적/동적 테이블 + 허프만 인코딩으로 헤더 크기 85~90% 감소

서버 푸시: 클라이언트 요청 전에 관련 리소스 선제 전송 (CSS, JS 등)

스트림 우선순위: 의존성 트리 + 가중치로 리소스 전달 순서 제어