IT
HTTP/1.1과 HTTP/2 의 차이
마시멜로를찾아서
2025. 5. 19. 09:51
반응형
HTTP/1.1과 HTTP/2는 웹 브라우저와 서버 간의 통신 프로토콜입니다. HTTP/2는 HTTP/1.1의 단점을 보완하여 성능을 크게 개선한 차세대 프로토콜입니다. 두 프로토콜의 차이점을 아래와 같이 정리할 수 있습니다.
📌 주요 차이점 정리
항목HTTP/1.1HTTP/2
요청 방식 | 요청마다 TCP 연결이 필요하거나 keep-alive로 제한 | 하나의 연결로 여러 요청 동시 처리 (Multiplexing) |
헤더 처리 | 매 요청마다 동일한 헤더를 반복 전송 | 헤더를 압축하여 전송 (HPACK) |
성능 | 동시 요청 처리에 제한이 많음 → 느림 | 병렬 처리 가능 → 빠름 |
서버 Push | 없음 | 필요 시 서버가 클라이언트에게 리소스를 먼저 Push 가능 |
우선순위 | 없음 | 리소스 요청에 우선순위 설정 가능 |
지원 브라우저/환경 | 현재도 널리 사용됨 | 대부분 브라우저에서 지원 중 (HTTP/3는 후속 프로토콜) |
🧪 기술적 상세 비교
1. 🌐 Multiplexing (멀티플렉싱)
- HTTP/1.1: 한 커넥션당 한 요청 → 병목 발생
- HTTP/2: 하나의 TCP 커넥션에서 여러 요청/응답을 동시에 처리
📌 예시: 이미지 10개를 요청할 때 HTTP/1.1은 순차적으로 처리하지만, HTTP/2는 동시에 전달함
2. 📦 Header Compression (HPACK)
- HTTP/1.1: 매번 전체 헤더 전송 (중복 많음)
- HTTP/2: 헤더를 테이블에 저장하고 압축하여 전송
➡️ 전송 용량 절감 → 빠른 응답
3. 🚀 Server Push 기능
- 서버가 클라이언트가 요청하지 않은 리소스를 미리 전송
- 예: HTML을 요청하면 JS/CSS도 함께 Push
➡️ 웹사이트 초기 렌더링 속도 개선
4. 📊 성능 향상 효과
상황 | HTTP/1.1 | HTTP/2 |
이미지 100개 요청 | 병목, 느림 | 빠름, 병렬 처리 |
모바일 환경 | 헤더 많고 속도 느림 | 헤더 압축으로 효과적 |
단일 페이지 앱(Vue, React 등) | 느릴 수 있음 | 매우 적합함 |
✅ 전환 고려사항
항목 | 설명 |
서버 지원 | Apache, Nginx 모두 HTTP/2 지원 가능 (SSL 필요) |
SSL 필수 여부 | 대부분 환경에서는 HTTP/2는 HTTPS 환경에서만 동작 |
프록시 서버 | 프록시(Nginx, Cloudflare) 통해 HTTP/2 쉽게 적용 가능 |
브라우저 지원 | Chrome, Edge, Firefox, Safari 모두 지원 |
반응형