HTTP/3란?

HTTP/3은 하이퍼 텍스트 전송 프로토콜(HTTP)의 다음 주요 수정 버전입니다. 이 버전은 속도, 보안, 안정성이 향상됩니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • HTTP/3에서 예상되는 개선 사항 이해하기
  • 이 프로토콜로 사용자 경험이 어떻게 형성될지 파악하기
  • 예상되는 보안 혜택 설명

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

HTTP/3란?

하이퍼텍스트 전송 프로토콜(HTTP)은 인터넷의 필수 중추로, 통신 플랫폼과 장치가 정보를 교환하고 리소스를 가져오는 방식을 결정합니다. 간단히 말해, HTTP는 사용자가 웹 사이트를 로드할 수 있도록 해줍니다.

HTTP/3은 HTTP의 최신 주요 버전입니다. 웹 브라우저와 서버에서는 이 솔루션을 사용하여 성능, 안정성, 보안 등 사용자 경험을 크게 업그레이드할 수 있습니다. HTTP 버전 협상이 원활하게 이루어지므로 웹 사이트 코드를 변경할 필요가 없습니다.

HTTP/3의 새로운 기능은?

HTTP/3은 HTTP/2가 2015년에 승인된 이후 HTTP에 대한 첫 번째 주요 업그레이드입니다. HTTP/3은 2021년에 발표되어 모든 Cloudflare 고객이 이용할 수 있게 되었습니다.

HTTP/3의 중요한 차이점은 새로운 전송 프로토콜인 QUIC에서 실행된다는 것입니다. QUIC는 빠르고 네트워크 간의 빠른 전환을 지원하도록 설계되었습니다. QUIC는 전송 제어 프로토콜(TCP)이 아닌 User Datagram Protocol(UDP)을 사용하므로 네트워크 패킷 손실 또는 재정렬로 인해 트랜잭션이 많은 연결 속도가 느려지는 TCP의 head-of-line 차단이라는 문제를 완화할 수 있습니다. 또한 QUIC는 계층 4 전송 연결을 계층 3 IP 흐름에서 분리하여 중단 없이 서로 다른 네트워크 간에 마이그레이션할 수 있도록 합니다.

QUIC는 사람들이 스마트폰을 가지고 다니며 하루 종일 이동하면서 끊임없이 하나의 네트워크에서 다른 네트워크로 전환하는 모바일 중심의 인터넷 사용을 더 잘 지원할 수 있습니다. 이 유형의 인터넷 사용은 최초의 인터넷 프로토콜이 개발되었을 때는 흔히 사용되는 유형이 아니었습니다. 기기가 휴대성이 떨어지고 네트워크 간을 자주 전환하지 않았기 때문입니다.

Google에서는 2012년에 QUIC의 초기 버전을 작성하기 시작했습니다. QUIC는 2016년에 벤더 중립적인 표준화 기구인 국제인터넷표준화기구(IETF)에서는 새로운 HTTP/3 표준을 만들기 시작하면서 채택되었습니다. 전 세계 전문가들의 자문을 거쳐 IETF에서는 여러 가지 변경 사항을 적용하여 RFC 9000으로 발표된 현재 표준 버전의 QUIC를 개발했습니다.

새 버전의 HTTP가 필요한 이유는?

QUIC는 HTTP/2의 가장 큰 단점 몇 가지를 해결하는 데 도움이 됩니다.

  • 패킷 손실의 영향 감소 - 하나의 정보 패킷이 목적지에 도달하지 못하면 더 이상 모든 정보 스트림을 차단하지 않게 되며, 이 문제를 'Head-Of-Line Blocking'이라고 합니다
  • 더 빠른 연결 설정: QUIC는 암호화 핸드셰이크와 전송 핸드셰이크를 결합합니다
  • 제로 왕복 시간(0-RTT): 이미 연결된 서버의 경우 클라이언트는 핸드셰이크 요구 사항(통신 방법을 결정하기 위해 서로를 인정하고 확인하는 과정)을 건너뛸 수 있습니다
  • 보다 포괄적인 암호화: QUIC는 기본적으로 암호화되므로 HTTP/3가 HTTP/2보다 더 안전합니다(아래에서 자세히 설명합니다)
  • 스트림('스트림'은 단일 HTTP 요청 및 응답 교환)에 대한 크레딧 기반 시스템을 사용하여 HTTP/3 서버가 스트림 동시성을 세밀하게 제어할 수 있도록 함으로써 웹 서버의 속도를 늦추거나 다운시킬 수 있는 HTTP/2 'Rapid Reset' 분산 서비스 거부(DDoS) 공격으로부터 보호
  • 집이나 사무실에서 나갈 때와 같이 스마트폰이 Wi-Fi에서 셀룰러 데이터로 전환될 때 느린 성능에 대한 해결 방법 개발

기본적 암호화란?

애플리케이션 계층이 아닌 전송 계층 내에서 암호화를 요구하는 것은 보안에 중요한 의미를 갖습니다. 이는 연결이 항상 암호화된다는 것을 의미합니다. 이전에 HTTPS에서는 암호화와 전송 계층 연결이 별도로 이루어졌습니다. TCP 연결은 암호화되거나 암호화되지 않은 데이터를 전송할 수 있었으며, TCP 핸드셰이크와 Transport Layer Security(TLS) 핸드셰이크는 서로 다른 이벤트였습니다. 그러나 QUIC는 기본적으로 전송 계층에서 암호화된 연결을 설정하므로 애플리케이션 계층 데이터가 항상 암호화됩니다.

QUIC는 두 번의 핸드셰이크를 하나의 작업으로 결합하여 이를 수행하므로 애플리케이션이 데이터를 전송하기 전에 한 번의 핸드셰이크만 완료될 때까지 기다려야 해서 대기 시간이 줄어듭니다. 또한 패킷 번호와 헤더의 일부 다른 부분을 포함하여 각 연결에 대한 메타데이터를 암호화하여 사용자 행동에 대한 정보를 공격자가 의 입수하지 못하도록 보호합니다. 이 기능은 HTTP/2가 TCP와 TLS에 의존했기 때문에 불가능했습니다.

HTTP는 지금까지 일반 텍스트 TCP를 사용했지만, 통신을 모니터링하는 모든 사람이 요청과 응답을 읽을 수 있으므로 보안에 부정적인 영향을 미칩니다. 오늘날 웹 사이트와 웹 브라우저는 모든 HTTP 통신을 암호화하여 모두를 안전하게 보호하고 중요한 데이터를 보호하는 것을 선호합니다. QUIC의 암호화는 기본적으로 이 목표를 지원합니다.

HTTP/3를 지금 사용할 수 있을까요?

그렇습니다. HTTP/3는 모든 주요 웹 브라우저에서 표준으로 구현되며 모든 Cloudflare 고객이 원본을 변경하지 않으면서 사용할 수 있습니다. 도메인을 전환하는 방법을 알아보세요.

Cloudflare Radar는 HTTP 버전 사용에 대한 최신 통계를 유지합니다.