맨위로가기

HTTP/3

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

HTTP/3는 QUIC 전송 프로토콜을 사용하는 HTTP/2의 후속 버전으로, IETF의 인터넷 초안에서 시작되었다. HTTP/1.1 및 HTTP/2와 달리 TCP 대신 QUIC를 사용하여 Head-of-line blocking 문제를 해결하고 전송 속도를 향상시킨다. 주요 웹 브라우저와 서버에서 HTTP/3을 지원하며, 다양한 프로그래밍 언어로 구현된 오픈 소스 라이브러리를 통해 구현할 수 있다. 2022년 6월 IETF는 HTTP/3을 RFC 9114에 제안된 표준으로 게시했다.

더 읽어볼만한 페이지

  • HTTP - HTTPS
    HTTPS는 HTTP에 보안 기능이 더해진 통신 규약으로, 웹 브라우저와 서버 간 통신을 암호화하여 보안을 강화하지만, 인증서 비용, 서버 부하, 혼합 콘텐츠 문제 등의 단점도 존재한다.
  • HTTP - HTTP 쿠키
    HTTP 쿠키는 웹 서버가 사용자 브라우저에 저장하는 작은 텍스트 파일로, 웹 사이트가 방문 기록, 로그인 정보 등을 기억하여 HTTP의 상태 비저장성을 보완하고 세션 관리, 개인 설정, 사용자 추적 등에 활용되지만 개인 정보 보호 및 보안 문제에 대한 논란이 있다.
  • 응용 계층 프로토콜 - 실시간 전송 프로토콜
    실시간 전송 프로토콜(RTP)은 스트리밍 미디어의 실시간 전송을 위해 설계된 프로토콜로, IP 네트워크에서 오디오/비디오 전송의 표준으로 사용되며, 멀티미디어 데이터 전송, 타임스탬프, 순서 제어, QoS 피드백 등을 제공한다.
  • 응용 계층 프로토콜 - D-Bus
    D-Bus는 2002년에 시작된 프로세스 간 통신 시스템으로, 시스템 버스와 세션 버스를 통해 정보 공유, 모듈성, 권한 격리를 제공하며, 일대일 요청-응답 및 발행/구독 통신 방식을 지원한다.
  • 월드 와이드 웹 - 구글
    구글은 래리 페이지와 세르게이 브린이 개발한 웹 검색 엔진에서 출발하여 검색 기술 혁신을 통해 유튜브, 안드로이드 등 다양한 서비스를 제공하는 세계적인 기술 기업으로 성장했지만, 개인정보보호 및 독점 논란에도 직면하고 있다.
  • 월드 와이드 웹 - 온라인 언론
    온라인 언론은 인터넷을 통해 뉴스 및 정보를 제공하며, 디지털 기술 발달과 함께 성장하여 시민 저널리즘 부상, 정보 전달 속도 혁신 등의 특징을 보이지만 정보 신뢰성 문제, 전통 언론 쇠퇴 등의 과제를 안고 있다.
HTTP/3
일반 정보
HTTP/3 로고
HTTP/3 로고
개발자국제 인터넷 표준화 기구 (IETF)
발표일2022년 6월
기반 프로토콜QUIC
OSI 모델 계층응용 계층
세부 정보
표준
HTTP/3은 RFC 9000과 같은 관련 RFC에 설명된 완료된 QUIC 프로토콜도 사용함
소개 날짜2022년 6월
후속없음

2. 역사



HTTP/3는 QUIC 워킹 그룹에서 채택한 인터넷 초안에서 시작되었다. 원래 제안은 "QUIC 전송 프로토콜을 사용하는 HTTP/2 시맨틱스"[8]였으며, 나중에 "QUIC 기반 하이퍼텍스트 전송 프로토콜(HTTP)"으로 이름이 변경되었다.[9]

2018년 10월 28일 메일링 리스트 토론에서 IETF HTTP 및 QUIC 워킹 그룹 의장인 마크 노팅엄은 HTTP-over-QUIC을 HTTP/3으로 변경할 것을 제안했다. 이는 "HTTP 시맨틱스를 와이어 프로토콜에 바인딩하는 또 다른 방식으로 명확히 식별하여 [...] 사람들이 QUIC과의 분리를 이해하도록 하기 위함"이었다.[10] 노팅엄의 제안은 며칠 후 IETF 회원들에게 받아들여졌다. HTTP 워킹 그룹은 HTTP/3 설계 과정에서 QUIC 워킹 그룹을 지원하고, 이후 게시 후 유지 관리를 담당하도록 위임되었다.[11]

HTTP/3에 대한 지원은 2019년 9월 크롬 (카나리아 빌드)에 추가된 후 안정적인 빌드에 도달했지만 기능 플래그에 의해 비활성화되었다. 2020년 4월에 기본적으로 활성화되었다.[5] 파이어폭스는 2019년 11월 기능 플래그를 통해 HTTP/3에 대한 지원을 추가했으며[12][13][14] 2021년 4월 Firefox 88에서 기본적으로 활성화하기 시작했다.[12][6] HTTP/3에 대한 실험적 지원은 2020년 4월 8일 Safari Technology Preview에 추가되었으며[15], iOS 14 및 macOS 11과 함께 제공되는 Safari 14에 포함되었지만,[7][16] macOS와 iOS 모두에서 Safari 16까지 기본적으로 비활성화되어 있다.

2022년 6월 6일, IETF는 HTTP/3을 제안된 표준으로 게시했다.[11]

3. HTTP/1.1 및 HTTP/2와의 비교

HTTP/3는 이전 버전(HTTP/1.1, HTTP/2)과 동일한 요청 메서드, 상태 코드, 메시지 필드를 사용하지만, 기본 전송 방식에서 차이가 있다. HTTP/1.1과 HTTP/2는 전송 계층으로 TCP를 사용하는 반면, HTTP/3는 QUIC를 사용한다.[8][9] QUIC는 UDP를 통해 사용자 공간 혼잡 제어를 사용하는 전송 계층 네트워크 프로토콜이다.

QUIC으로의 전환은 HTTP/2의 주요 문제점인 HOL 블로킹을 해결하기 위한 것이다. QUIC은 네이티브 다중화를 제공하여 손실된 패킷이 해당 스트림에만 영향을 미치도록 한다.[10][11]

3. 1. 기술적 특징

요청 메서드, 상태 코드, 메시지 필드와 같은 HTTP의 의미는 버전 간에 일관성이 있다. 이러한 요소들은 일반적으로 모든 버전에 적용된다. 차이점은 이러한 의미를 기본 전송 방식에 어떻게 매핑하는지에 있다. HTTP/1.1과 HTTP/2는 모두 전송 계층으로 TCP를 사용한다. HTTP/3은 QUIC를 사용하는데, 이는 UDP를 통해 사용자 공간 혼잡 제어를 사용하는 전송 계층 네트워크 프로토콜이다.

QUIC으로의 전환은 HTTP/2의 주요 문제점인 "HOL 블로킹"을 해결하는 것을 목표로 한다. HTTP/2 다중화의 병렬 특성이 TCP의 손실 복구 메커니즘에 보이지 않기 때문에, 손실되거나 순서가 바뀐 네트워크 패킷은 해당 트랜잭션이 손실된 패킷의 영향을 받았는지 여부에 관계없이 모든 활성 트랜잭션 처리가 정지되는 현상을 경험하게 한다. QUIC은 네이티브 다중화를 제공하기 때문에, 손실된 패킷은 데이터가 손실된 스트림에만 영향을 미친다.

제안된 DNS 리소스 레코드 SVCB(서비스 바인딩) 및 HTTPS를 사용하면 이전 HTTP 버전을 통해 Alt-Svc 헤더를 먼저 받지 않고도 연결할 수 있으므로 TCP의 1 RTT 핸드셰이킹이 제거된다.[17][18] HTTPS 리소스 레코드에 대한 클라이언트 지원은 Firefox 92, iOS 14부터 시작되었으며, Safari 14 지원이 보고되었고, Chromium은 플래그 뒤에서 이를 지원한다.[19][20][21]

4. 구현 현황

HTTP/3은 여러 소프트웨어에서 구현되어 지원되고 있다.

주요 웹 브라우저로는 크롬, 엣지, 파이어폭스, 사파리 등이 HTTP/3을 지원한다.[12][22][6][23][24]

HTTP/3을 지원하는 주요 웹 서버에는 LiteSpeed Web Server, Caddy, Nginx, Microsoft IIS, HAProxy 등이 있다.[31][32][33][34][35][36][37][38]

QUIC 및 HTTP/3 클라이언트 또는 서버 로직을 구현하는 다양한 오픈 소스 라이브러리들이 존재한다.[25]

4. 1. 클라이언트

크롬, 엣지, 파이어폭스, 사파리는 HTTP/3을 지원한다.

HTTP/3 브라우저 지원
브라우저구현된 버전 (기본적으로 비활성화됨)출시된 버전 (기본적으로 활성화됨)설명
크롬안정화 빌드 (79)2019년 12월87[12]2020년 4월[22]이전 버전은 QUIC의 다른 초안을 구현했다.
엣지안정화 빌드 (79)2019년 12월872020년 4월엣지 79는 크로미움을 기반으로 한 첫 번째 버전이었다.
파이어폭스안정화 빌드 (72.0.1)2020년 1월88[6]2021년 4월[23]
사파리안정화 빌드 (14.0)2020년 9월16.42023년 3월애플은 사파리 16.4부터 일부 사파리 사용자에게 HTTP/3 지원을 테스트하고 있다.[24]


4. 2. 서버


  • LiteSpeed Web Server (및 OpenLiteSpeed) 6.0.2 버전(2021년 6월 7일 출시)은 HTTP/3을 기본적으로 활성화한 최초의 버전이다.[31]
  • Caddy 웹 서버 v2.6.0 (2022년 9월 20일 출시)은 HTTP/3을 기본적으로 활성화했다.[32]
  • Nginx는 1.25.0 버전(2023년 5월 23일 출시)부터 HTTP/3을 지원한다. HTTP/3 지원을 포함한 Nginx 기술 미리보기는 2020년 6월에 출시되었고,[33] HTTP/3을 지원하는 Nginx 바이너리 패키지는 2023년 2월에 출시되었다.[34]
  • Cloudflare는 quiche HTTP/3 라이브러리를 통합하는 Nginx용 패치를 배포한다.[35]
  • Microsoft IIS는 Windows Server 2022/Windows 11에서 HTTP/3 지원이 기본적으로 활성화되어 있다.[36]
  • HAProxy는 2.6 버전(2022년 5월 31일 출시)부터 QUIC를 통한 HTTP/3을 지원한다.[37][38]

4. 3. 라이브러리

다음은 QUIC 및 HTTP/3에 대한 클라이언트 또는 서버 로직을 구현하는 오픈 소스 라이브러리들이다.[25]

HTTP/3 구현 라이브러리
이름클라이언트서버프로그래밍 언어회사저장소
lsquicCLiteSpeedgithub.com
nghttp3Cgithub.com
h2o아니오Cgithub.com
libcurl[26][27]아니오Cgithub.com
MsQuic[28]C마이크로소프트github.com
proxygenC++페이스북github.com
CronetC++구글github.com
.NET[29]C# (MsQuic 사용)[30]마이크로소프트github.com
quic-goGogithub.com
http3Haskellgithub.com
KwikJavagithub.com
FlupkeJavabitbucket.org
aioquicPythongithub.com
quicheRust클라우드플레어github.com
neqoRust모질라github.com
quinnRustgithub.com
s2n-quicRust아마존 웹 서비스github.com


참조

[1] 웹사이트 What is HTTP/3? https://www.cloudfla[...] 2022-07-12
[2] 간행물 A first look at HTTP/3 adoption and performance https://www.scienced[...] 2022-04-01
[3] 웹사이트 HTTP/3 is Fast https://requestmetri[...] 2022-07-01
[4] 웹사이트 Usage of HTTP/3 for websites https://w3techs.com/[...] W3Techs 2024-08-11
[5] 웹사이트 Enabling QUIC in tip-of-tree https://groups.googl[...] 2021-04-08
[6] 웹사이트 QUIC and HTTP/3 Support now in Firefox Nightly and Beta https://hacks.mozill[...] 2021-04-17
[7] 웹사이트 Safari 14 Release Notes https://developer.ap[...] 2020-12-04
[8] IETF HTTP/2 Semantics Using The QUIC Transport Protocol Internet Engineering Task Force 2016-07-08
[9] 뉴스 HTTP-over-QUIC to be renamed HTTP/3 https://www.zdnet.co[...] 2018-11-12
[10] 간행물 Identifying our deliverables https://mailarchive.[...] 2018-10-28
[11] 웹사이트 Hypertext Transfer Protocol Charter https://datatracker.[...] 2020-09-02
[12] 웹사이트 '"HTTP/3" {{!}} Can I use... Support tables for HTML5, CSS3, etc' https://caniuse.com/[...] 2024-08-11
[13] 웹사이트 Daniel Stenberg announces HTTP/3 support in Firefox Nightly https://twitter.com/[...] 2019-11-05
[14] 웹사이트 Cloudflare, Google Chrome, and Firefox add HTTP/3 support https://www.zdnet.co[...] 2019-09-27
[15] 웹사이트 Release Notes for Safari Technology Preview 104 https://webkit.org/b[...] 2020-08-07
[16] 웹사이트 Apple's Safari Adds Support for HTTP3 in iOS 14 and macOS 11 https://www.iphonein[...] 2021-06-25
[17] 웹사이트 HTTPS RR https://developer.mo[...] Mozilla 2022-10-25
[18] IETF Service binding and parameter specification via the DNS Internet Engineering Task Force 2020-06-12
[19] 웹사이트 Firefox 92 for developers https://developer.mo[...] Mozilla Corporation 2021-09-07
[20] 웹사이트 Feature: HTTP->HTTPS redirect for HTTPS DNS records https://chromestatus[...] Google Inc. 2022-10-25
[21] 웹사이트 What's the use case of SVCB (type 65, service binding) RR https://serverfault.[...] Stack Exchange Inc. 2021-08-24
[22] 웹사이트 Enabling QUIC in tip-of-tree https://groups.googl[...] 2021-04-09
[23] 웹사이트 Firefox Release Owners - MozillaWiki https://wiki.mozilla[...] 2021-04-09
[24] 웹사이트 HTTP/3 support shipped in Safari 14.0 https://github.com/F[...] 2023-04-07
[25] 웹사이트 QUIC Implementations https://github.com/q[...] 2021-04-08
[26] 웹사이트 First HTTP/3 with curl https://daniel.haxx.[...] Daniel Stenberg 2019-10-02
[27] 웹사이트 HTTP3 (and QUIC) https://github.com/c[...] Daniel Stenberg 2023-08-27
[28] 웹사이트 MsQuic is Open Source https://techcommunit[...] 2020-04-28
[29] 웹사이트 HTTP/3 support in .NET 6 https://devblogs.mic[...] 2021-09-17
[30] 웹사이트 HTTP/3 support in .NET 6 https://devblogs.mic[...] 2022-01-12
[31] 웹사이트 LiteSpeed Web Server Release Log - LiteSpeed Technologies https://www.litespee[...] 2022-02-12
[32] 웹사이트 Release 2.6.0 · caddyserver/caddy https://github.com/c[...] 2022-09-20
[33] 웹사이트 Introducing a Technology Preview of NGINX Support for QUIC and HTTP/3 https://www.nginx.co[...] 2020-06-11
[34] 웹사이트 Binary Packages Now Available for the Preview NGINX QUIC+HTTP/3 Implementation https://www.nginx.co[...] 2023-03-30
[35] 웹사이트 Experiment with HTTP/3 using NGINX and quiche https://blog.cloudfl[...] 2019-11-09
[36] 웹사이트 Use ASP.NET Core with HTTP/3 on IIS https://docs.microso[...] 2022-04-29
[37] 웹사이트 Announcing HAProxy 2.6 https://www.haproxy.[...] 2022-05-31
[38] 웹사이트 QUIC Implementation in HAProxy https://www.youtube.[...]
[39] 간행물 Hypertext Transfer Protocol (HTTP) over QUIC https://tools.ietf.o[...] 2018-10-24
[40] 간행물 Identifying our deliverables https://mailarchive.[...] 2018-10-28
[41] 뉴스 HTTP-over-QUIC to be renamed HTTP/3 {{!}} ZDNet https://www.zdnet.co[...] 2018-11-12
[42] 웹사이트 CloudflareとGoogleのChrome(Canary)がHTTP/3のサポート開始 Firefox(Nightly)も間もなく https://www.itmedia.[...] ITmedia 2019-09-27
[43] 웹사이트 HTTP/3 https://datatracker.[...] IETF 2022-06-08
[44] IETF Hypertext Transfer Protocol Version 3 (HTTP/3) 국제 인터넷 표준화 기구 2020-09-25
[45] 웹인용 Usage of HTTP/3 for websites https://w3techs.com/[...] W3Techs 2020-10-12



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com