나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2024-12-06 22:05:07

HTTP/3


1. 개요2. 상세3. 지원
3.1. 웹 브라우저3.2. 서비스3.3. 웹 서버3.4. 광고 차단기
4. HTTP/3 지원 사이트5. 외부 링크

[clearfix]

1. 개요

HTTP의 3번째 메이저 버전으로 HTTP/2의 차기 버전이다. QUIC라는 이름으로 구글에서 개발되었으며 이후 2022년 6월 6일, IETF RFC 9114로 표준화되면서 HTTP/3로 변경되었다.

2. 상세

HTTP/1 및 HTTP/2가 TCP로 통신하는 것과는 달리 HTTP/3는 UDP 기반의 QUIC 프로토콜을 사용하여 통신한다. 원래는 이름이 HTTP-over-QUIC였지만, IETF 내에 있는 QUIC 작업 그룹의 의장인 마크 노팅업이 HTTP/3라는 이름을 제안하여 변경되었다. HTTP/3의 기반이 되는 QUIC도 역시 웹 표준이며 RFC 9000으로 표준화되어 있다.

HTTP/2 대비하여 가장 큰 장점 3가지는, Zero RTT(Round Trip Time), 패킷 손실에 대한 빠른 대응, 사용자 IP가 바뀌어도 연결이 유지되는 것이다. 일반적인 웹 환경에서는 HTTP/2와 HTTP/3의 차이가 크지 않을 수 있으나, 동영상 서비스 등에서는 큰 차이를 보인다. 예를들어, 모바일 기기처럼 인터넷 연결 상태가 고르지 못한 경우라든지, WiFi에 연결하여 동영상을 시청하는 도중에 자리를 이탈하여 셀룰러 신호로 바뀌더라도 HTTP/3로 연결되어 있으면 영상을 끊김없이 시청할 수 있다. 패킷 전송에 있어서 제약이 거의 없는 비연결성 전송 계층을 기반으로 TCP 프로토콜의 무결성 보장 알고리즘과 SSL이 이식됨으로써 높은 성능과 동시에 충분히 괜찮은 정확성과 부인방지 특성을 충족시켰다.

HTTP/3와 그 기반 기술인 QUIC은 TLS 암호화를 기본적으로 사용한다. 다만, TLS가 TCP를 염두에 두고 설계되어 있기 때문에 QUIC의 원저작자인 구글의 알고리즘대로 일부 수정을 거쳐서 사용한다. UDP와 TLS가 결합된 기술로는 DTLS라는 기술도 있지만 'TCP의 재구현'이 목표 중 하나인 QUIC와는 지향하는 바가 다르다.

구글 자체 프로토콜이었던 QUIC가 HTTP/3로 표준화됨에 따라서 IETF 측에서는 구글이 독자적으로 개발했던 QUIC 프로토콜의 파편화된 구현 알고리즘을 기존의 다른 프로토콜과 상호운용이 용이하도록 대폭 수정하는 과정을 진행중이다. QUIC 내에서 IETF 표준 대비 가장 큰 파편화를 보인 부분이 보안 소켓이다. IETF는 구글이 자체적으로 개발한 보안 소켓을 IETF 표준 프로토콜인 DTLS로 대체하는 QUIC over DTLS 표준을 만들고 있었지만 QUIC 워킹 그룹에서 다른 방법을 모색하는 것으로 결론짓고 해당 표준의 제작을 중단했다. #

성능이 떨어지는 컴퓨터는 QUIC 프로토콜로 인해 크롬 브라우저가 느려진다. 그럴 때는 주소창에 "chrome://flags/"를 입력해 Experiments로 들어간 다음 Experimental QUIC protocol을 검색하여 비활성화해주면 빨라질 수 있다.

3. 지원

표준화는 2022년 6월에 되어서야 완료되었지만 표준화 전부터 대부분의 주요 웹 브라우저에서 선제적으로 적용하였다.

3.1. 웹 브라우저

웹 브라우저의 지원 내역은 Can I use...의 HTTP/3 protocol에 정리되어 있다.

3.2. 서비스

Cloudflare에서 2019년 9월부터 일반 사용자에게도 제공하기 시작했다. CDN 서비스를 사용 중이라면, 네트워크 탭에서 스위치를 켜는 것만으로도 적용 가능하다. #

아마존 웹 서비스에도 일부 서비스에 HTTP/3을 쓸 수 있게 하는 옵션이 있다.

3.3. 웹 서버

3.4. 광고 차단기

4. HTTP/3 지원 사이트

HTTP/3를 지원하는 주요 웹사이트로는,

5. 외부 링크


[1] iCloud Private Relay를 사용하는 경우엔 모든 Safari 연결이 QUIC로 진행된다.[2] NGINX에서는 개발버전을 mainstream, 안정화 버전을 stable이라고 부른다. 개발버전은 홀수, 안정화 버전은 짝수 번호이다.[3] NGINX에서 HTTP/3 적용방법[4] LiteSpeed 릴리즈 노트[5] Caddy 웹서버 릴리즈 노트[6] 구글은 크로뮴 대상으로는 한참 전부터 h3-Q050등으로 HTTP/3을 제공하고 있었다.[7] 그외에도 아카마이, 클라우드프론트, fastly등 메이저 CDN에는 모두 적용되어 있다.[8] 2022년 전면 도입 완료 관련 기사[9] the seed를 사용하는 모든 위키가 해당.

분류