HTTP/2 훑어보고 AWS에서 적용해보기
두줄요약
HTTP/2의 다중화·헤더 압축 등으로 HTTP/1의 병목을 줄이는 방식을 소개했습니다. CloudFront와 ALB 설정으로 적용하고, 기존 HTTP/1 최적화 기법의 재검토 필요성을 설명합니다.
문제 상황
- HTTP/1.1의 요청 순서 기반 HOL Blocking, 연결 수 증가에 따른 RTT, 반복 헤더 전송
- 대용량·다수 리소스 웹 환경에서 번들링·이미지 스프라이트·도메인 샤딩 중심의 우회 최적화
구조와 흐름
- 단일 커넥션의 다중 독립 스트림 처리로 동시 요청·응답을 지원하는 Multiplexing
- 바이너리 프레임, HPACK 헤더 압축, Server Push, 스트림 우선순위 기반 전송 개선
- CloudFront 또는 ALB와 클라이언트 사이만 HTTP/2 적용하고, 로드밸런서-웹 서버 구간은 HTTP/1 유지
성능/운영 포인트
- CloudFront Distribution의 지원 HTTP 버전 설정으로 HTTP/2 활성화, 미지원 클라이언트에는 HTTP/1.1 응답
- Elastic Beanstalk 웹 서버 환경에서 ALB의 HTTPS 리스너 추가로 클라이언트 연결 구간 HTTP/2 구성
- 이미지 30개 페이지 비교에서 DomContentLoaded 14.65초에서 11.45초로 약 20% 단축
주의할 점
- HTTP/2 환경에서 이미지 스프라이트의 CSS 연산·캐싱 저해 가능성
- 높은 병렬 처리 환경에서 도메인 샤딩의 성능 저하 가능성
- HTTP/1용 최적화 기법 재검토와 Server Push·스트림 우선순위 활용 고려






