웹의 진화: HTTP/1.1, HTTP/2, HTTP/3 비교

발행: (2026년 1월 7일 오전 11:56 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

만약 현대 웹이 10년 전보다 훨씬 더 빠르게 느껴지는 이유가 궁금하다면, 그 답은 인터넷의 “배관”에 있습니다. 하이퍼텍스트 전송 프로토콜(HTTP)은 데이터‑중심 시대에 맞추기 위해 대대적인 변화를 겪었습니다.

1. 병목 현상: HTTP/1.1

초기에는 HTTP/1.1이 표준이었지만 Head‑of‑Line (HOL) 차단 문제를 안고 있었습니다.

  • 연결당 단일 요청: 브라우저는 TCP 연결당 한 번에 하나의 요청만 처리할 수 있었습니다.
  • 제한된 동시성: 브라우저는 일반적으로 단일 도메인에 대해 최대 6개의 동시 TCP 연결만 엽니다.
  • 영향: 100개의 이미지가 있는 페이지는 6개씩 묶여 대기하게 되며 눈에 띄는 지연이 발생합니다.

2. 효율성 업그레이드: HTTP/2

2015년에 출시된 HTTP/2는 진정한 멀티플렉싱을 도입했습니다.

  • 단일 연결, 다중 스트림: 데이터를 하나의 TCP 연결 위에서 독립적인 스트림으로 분할합니다.
  • HPACK 압축: 헤더 압축을 통해 오버헤드를 줄입니다.

주의점

HTTP/2는 여전히 TCP에 의존합니다. 하나의 패킷이 손실되면 TCP는 전체를 일시 중지하고 재전송하기 때문에 TCP‑레벨 HOL 차단이 발생합니다.

3. 미래는 여기다: HTTP/3 (QUIC)

HTTP/3는 TCP를 QUIC으로 대체하며, QUIC은 UDP 위에 구축되어 남아 있던 성능 병목을 없앱니다.

  • 더 이상 대기 없음: “이미지 A”의 패킷 손실이 “이미지 B”를 멈추게 하지 않습니다.
  • Zero‑RTT (0‑RTT) 핸드셰이크: 연결 및 보안 핸드셰이크가 결합되어 초기 교환이 거의 즉시 이루어집니다.
  • 연결 마이그레이션: 고유한 Connection ID 덕분에 세션이 IP 변경(예: Wi‑Fi → LTE)에도 중단 없이 유지됩니다.

기술 비교

AspectHTTP/1.1HTTP/2HTTP/3
TransportTCPTCPQUIC over UDP
ConcurrencyMax ~6 requests/connMultiplexed streamsMultiplexed (no HOL)
HOL BlockingConnection‑levelTCP‑level (packet loss)None
CompressionNone (plaintext)HPACKQPACK
TLSOptionalEffectively mandatoryMandatory (TLS 1.3)
HandshakeMulti‑stepFaster (ALPN)Instant (0‑RTT/1‑RTT)
Connection MigrationNoNoYes (Wi‑Fi to LTE)

요약: 어떤 것을 사용해야 할까?

  • HTTP/1.1: 레거시 내부 시스템에만 남겨두는 것이 좋습니다.
  • HTTP/2: 일반 웹 트래픽에 대한 현재 산업 표준입니다.
  • HTTP/3: 모바일 앱, 고지연 지역, 성능이 중요한 플랫폼(예: Google, Facebook, Netflix)에 필수적입니다.

HTTP/3로의 전환은 “모바일‑우선” 인터넷을 의미합니다. 이제 연결이 안정적일 것이라고 가정하지 않고, 회복력 있게 최적화됩니다.

Back to Blog

관련 글

더 보기 »

HTTP 캐싱, 복습

번역하려는 텍스트를 제공해 주시겠어요? 텍스트를 알려주시면 한국어로 번역해 드리겠습니다.

📱 WebSockets를 5살 아이에게 설명하듯

문자 vs 전화 통화 문자 HTTP - 메시지를 보냅니다 - 답장을 기다립니다 - 대화가 끝납니다 - 다시 대화하려면? 또 다른 메시지를 보내고 기다립니다 전화 통화 W...

📞 DNS를 5살 아이에게 설명하듯

인터넷의 전화번호부 Day 7 of 149 – 👉 코드 예제와 함께하는 완전한 심층 탐구 전화번호부를 기억하나요? 부모님께 물어보세요! 📚 피자헛에 전화하고 싶었지만...