2022년 6월, HTTP/3을 공식적으로 정의한 RFC를 포함한 일련의 HTTP 관련 인터넷 표준이 발표된 이후, 저희는 HTTP RFCs have evolved: A Cloudflare view of HTTP usage trend를 발표했습니다. RFC가 탄생한 후 1년이 지난 지금, 지난 1년 동안 이러한 동향이 어떻게 발전해왔는지 되돌아보는 것도 흥미로울 것이라고 생각했습니다.

이전 게시물에서는 2021년 5월부터 2022년 5월까지 Cloudflare 네트워크에서 관찰된 HTTP/1.1, HTTP/2, HTTP/3의 사용 추세를 버전과 브라우저 제품군, 검색 엔진 색인 및 소셜 미디어 봇별로 분류하여 검토한 바 있습니다. 당시에는 브라우저 기반 트래픽에서 HTTP/2를 압도적으로 많이 사용하고 있었지만, HTTP/3 사용량이 증가 조짐을 보이고 있는 것으로 나타났습니다. 검색 봇과 소셜 봇은 HTTP/1.1 대 HTTP/2에 대한 선호도가 엇갈렸으며, HTTP/3은 거의 또는 전혀 사용되지 않았습니다.
2022년 5월부터 2023년 5월까지 브라우저에서 검색된 콘텐츠에서 HTTP/3 사용은 계속 증가하고 있었지만, 검색 엔진 색인 및 소셜 미디어 봇에서는 웹의 핵심 프로토콜 최신 버전을 사실상 계속 무시하고 있는 것으로 나타났습니다. ( 하지만 HTTP/3의 이점은 매우 사용자 중심적이며, 비동기적으로 콘텐츠를 크롤링하고 색인하도록 설계된 봇에는 별다른 이점을 제공하지 못한다는 것은 틀림없는 사실입니다. 이것이 이러한 자동화된 사용자 에이전트에서 채택이 저조한 주요 이유일 수 있습니다.) 또한 API 트래픽 전반에 걸친 HTTP/3 사용량은 여전히 낮지만, 1년 동안 두 배로 증가했습니다. Cloudflare의 무료 서비스 계층을 사용하는 영역의 경우 HTTP/3 지원이 기본적으로 켜져 있으며, 유료 고객에게는 지원을 활성화할 수 있는 옵션이 있습니다.
HTTP/1.1과 HTTP/2는 TCP를 전송 계층으로 사용하며 TLS를 통해 보안을 추가합니다. HTTP/3은 QUIC을 사용하여 전송 계층과 보안을 모두 제공합니다. 전송 계층의 차이로 인해 사용자 에이전트는 일반적으로 원본에서 HTTP/3을 사용하여 액세스할 수 있다는 사실을 알아야만 액세스를 시도할 수 있습니다. 검색 방법 중 하나는 HTTP 대체 서비스로, 서버가 지원되는 앱 계층 프로토콜 협상 식별자(ALPN ID) 목록이 포함된 Alt-Svc 응답 헤더를 반환하는 것입니다. 또 다른 방법은 클라이언트가 DNS에 쿼리하여 지원되는 ALPN ID를 알아내는 HTTPS 레코드 유형입니다. HTTP/3의 ALPN ID는 "h3"이지만, 사양이 개발 및 반복되는 동안 특정 초안 버전을 식별하기 위해 접미사가 추가되었습니다(예: "h3-29" 식별 초안 29). 다양한 클라이언트에 대한 호환성을 유지하기 위해 Cloudflare에서는 "h3"과 "h3-29"를 모두 홍보했습니다. 그러나 초안 29는 거의 3년 전에 발표되었고 클라이언트는 최종 RFC에 대한 지원을 따라잡았습니다. 2023년 5월 말부터 Cloudflare에서는 HTTP/3이 활성화된 영역에 대해 더 이상 h3-29를 홍보하지 않음으로써, 이를 포함했을 각 HTTP 응답 또는 DNS 레코드에서 몇 바이트를 절약하는 데 도움을 주었습니다. 브라우저와 웹 서버는 일반적으로 사용 가능한 가장 높은 HTTP 버전을 자동으로 협상하므로 HTTP/3이 HTTP/2보다 우선합니다.
아래 섹션에서는 데스크톱 및 모바일 브라우저 분석의 경우 "사람일 가능성이 있는" 트래픽의 경우로만 분석을 제한하기 위해 Cloudflare 봇 점수를 기준으로 "자동화되었을 가능성이 있는" 및 "자동화된" 트래픽은 필터링되었지만, 검색 엔진 및 소셜 미디어 봇 분석에는 포함되어 있습니다. 또한, 아래에서 HTTP 요청 또는 HTTP 트래픽에 대한 참조에는 HTTP와 HTTPS를 통해 이루어진 요청이 모두 포함됩니다.
HTTP 버전별 전체 요청 분포
저희는 매일 Cloudflare에 대한 글로벌 웹 트래픽을 집계하여 조사된 1년간의 사용량에 걸쳐 HTTP/1.1, HTTP/2, HTTP/3의 사용 추세를 관찰할 수 있습니다. HTTP/1.1을 통한 트래픽 점유율은 5월부터 9월 말까지 8%에서 7%로 감소했지만, 10월까지 11% 이상으로 빠르게 증가했습니다. 새해 들어 1월까지 상승세를 유지하다가 2023년 5월에는 다시 9%로 떨어졌습니다. 흥미롭게도, 주중/주말 트래픽 패턴은 10월 증가 이후 더욱 뚜렷해졌으며, 이후 6개월 동안 유지되었습니다. HTTP/2 요청 점유율은 2022년 5월 약 68%에서 시작하여 1년 동안 소소한 변화를 보이다가 6월부터 소폭 감소하기 시작했습니다. 그 이후에는 점유율이 큰 변화를 보이지 않으며 64%에 약간 못 미치는 수치로 해당 기간을 마감했습니다. HTTP/2의 경우 명확한 주중/주말 패턴이 보이지 않았습니다. 2022년 5월 23%를 조금 넘는 점유율로 시작한 HTTP/3을 통한 요청 비율은 8월과 9월에는 30%를 조금 넘었지만, 11월에는 약 26%로 떨어졌습니다. 약간의 소소한 오르내림 끝에 28%의 점유율로 조사 기간이 마감되었습니다. (이 그래프는 6월 초에 그래프를 생성할 때 발생한 데이터 보존 제한으로 인해 5월 말부터 시작됨을 유의하세요.)

HTTP 버전별 API 호출 분포
API 트래픽은 Cloudflare의 요청량 중 상당 부분을 차지하지만, 그 중 극히 일부만 HTTP/3을 통해 이루어집니다. 이러한 요청의 약 절반은 HTTP/1.1을 통해 이루어지며, 나머지 1/3은 HTTP/2를 통해 이루어집니다. 그러나 API에 대한 HTTP/3 사용량은 2022년 5월 약 6%에서 2023년 5월에는 12% 이상으로 증가했습니다. HTTP/3의 트래픽 점유율이 낮은 이유는 부분적으로는 curl과 같은 주요 도구에서 HTTP/3 지원이 아직 "실험적"이라고 간주되고 있기 때문일 수 있습니다. 향후 이러한 도구에서 HTTP/3이 우선적으로 지원되는 등 상황이 바뀌면, API는 물론, 전체 HTTP/3 사용량 증가가 가속화될 것으로 예상됩니다.

HTTP 버전별 완화된 요청 배포
앞서 제시된 분석에서는 Cloudflare에 대한 모든 HTTP 요청을 고려했지만, 잠재적으로 악의적인 트래픽의 HTTP 버전 사용량을 살펴보는 것도 흥미로울 것이라고 생각하여 Cloudflare의 앱 보안 솔루션 중 하나에 의해 완화되는 요청만 분석해 보았습니다. 위의 그래프에는 대부분의 완화 요청이 HTTP/1.1과 HTTP/2를 통해 이루어지며, 일반적으로 HTTP/3을 통한 요청은 5% 미만임이 나와 있습니다. 완화 요청은 HTTP/1.1을 통해 가장 자주 이루어지는 것으로 보입니다. 8월 초부터 11월 말까지는 HTTP/2가 더 많은 점유율을 차지했기는 하지만요. 이러한 관찰을 분석해보면 공격자들이 최신 버전의 HTTP를 활용하기 위해 도구를 업그레이드하는 노력을 기울이지 않고 있으며, 이전 버전의 프로토콜로도 충분하다고 판단하고 있음을 알 수 있습니다. (이 그래프는 6월 초에 그래프를 생성할 때 발생한 데이터 보존 제한으로 인해 5월 말부터 시작됨을 유의하세요.)

데스크톱 브라우저별 HTTP/3 사용
작년에 언급했듯이, 주요 브라우저의 안정된 릴리스 채널에서 HTTP/3 지원은 Google Chrome와 Microsoft Edge의 경우 2020년 11월, Mozilla Firefox의 경우 2021년 4월에 제공되었습니다. 또한 Apple Safari의 경우 프로덕션 릴리스의 "실험적 기능(Experimental Features)" 개발자 메뉴에서 HTTP/3 지원을 활성화해야 했습니다. 그러나 가장 최근의 Safari 릴리스에서는 이 단계가 더 이상 필요하지 않으며 이제 HTTP/3이 기본적으로 지원되는 것으로 보입니다.
브라우저별 요청 점유율을 살펴보면, Chrome이 HTTP/3 요청량의 약 80%를 차지했지만, Safari의 지속적인 성장으로 2023년 5월에는 약 74%까지 떨어졌습니다. 1년 전만 해도 Safari는 Cloudflare에서 HTTP/3 트래픽의 1% 미만을 차지했지만, 2023년 5월에는 거의 7%로 증가했는데, 이는 실험적 지원에서 프로덕션 지원으로 전환된 결과일 수 있습니다.

그래프에서 Chrome을 다시 제거하면 다른 브라우저의 추세를 더 잘 볼 수 있습니다. 앞서 언급했듯이 Safari는 작년에 상당한 성장세를 보인 반면, Edge는 10% 미만으로 출발하여 2022년 6월에 11%를 조금 넘는 성장률을 기록했습니다. Edge는 새해까지 그 수준을 유지하다가 이후 몇 달 동안 서서히 10% 이하로 떨어졌습니다. Firefox는 약 10%에서 9% 미만으로 소폭 감소한 반면, Internet Explorer에서 보고된 HTTP/3 트래픽은 거의 0에 가까웠습니다.

작년 게시글에서와 마찬가지로, 저희는 지난 1년간 주요 브라우저에서 HTTP 버전 점유율이 어떻게 변화했는지도 살펴보고자 했습니다. 작년 한 해 동안 관찰된 HTTP/2와 HTTP/3의 상대적 안정성은 작년 게시물에서 관찰된 것과는 다소 대조적인데, 2021년 5월부터 2022년 5월까지는 눈에 띄는 변화가 있었습니다.
주요 데스크톱 브라우저 제품군의 프로토콜 버전별 요청 점유율을 살펴보면, 모든 브라우저에서 10월 말에 HTTP/1.1의 점유율이 증가한 것을 확인할 수 있습니다. 추가 분석에 따르면 이러한 증가는 몇몇 대규모 고객 영역에서 HTTP/1.1 요청량이 크게 증가했기 때문인 것으로 나타났지만, 이전 버전의 HTTP를 사용하는 트래픽이 유입된 이유는 명확하지 않습니다. 분명한 것은 주요 브라우저에서 콘텐츠 요청에 사용되는 주요 프로토콜은 여전히 HTTP/2이며, Chrome과 Edge의 경우 요청량의 50~55%, Firefox의 경우 약 60%를 지속해서 차지한다는 점입니다. 그러나 Safari의 경우 HTTP/3 사용 증가로 인해 HTTP/2의 점유율은 2022년 5월 약 95%에서 1년 후 약 75%로 떨어졌습니다.




Safari의 HTTP/3 점유율은 한 해 동안 3% 미만에서 거의 18%까지 증가했으며, 다른 브라우저에서의 점유율은 Chrome과 Edge가 약 40%, Firefox가 약 35%를 기록하는 등 보다 일정했으며, 두 브라우저 모두 주중과 주말의 뚜렷한 트래픽 패턴을 보여주었습니다. (이러한 패턴은 Edge에서 가장 두드러지게 나타납니다.) 이러한 패턴은 2022년 말 Safari에서 더 뚜렷해지긴 했지만, 여전히 1% 미만의 차이로 거의 나타나지 않습니다.
모바일 브라우저별 HTTP/3 사용량
모바일 장치는 Cloudflare에 대한 요청량의 절반 이상을 차지하고 있으며, Chrome Mobile은 전체 요청의 25% 이상을, Mobile Safari는 10% 이상을 생성합니다. 이러한 점을 고려하여 이 두 가지 주요 모바일 플랫폼에서 HTTP/3 사용량을 조사하기로 결정했습니다.
Chrome Mobile과 Chrome Mobile Webview(앱에서 웹 콘텐츠를 표시하는 데 사용할 수 있는 임베드 가능한 Chrome 버전)를 살펴보면 HTTP/1.1 사용량이 전체 요청의 5% 미만으로 미미한 것으로 나타났습니다. HTTP/2 사용량은 5월부터 9월 중순까지 60%에서 55% 미만으로 떨어졌다가 다시 60% 근처로 올라갔고, 나머지 기간 동안에는 거의 비슷하거나 약간 낮은 수준을 유지했습니다. 상호 보완적인 방식으로 HTTP/3 트래픽은 37%에서 45%로 증가하다가 9월 중순에 40% 바로 아래로 떨어진 후 5월까지 그 수준을 유지했습니다. 사용 패턴은 궁극적으로 데스크톱 Chrome의 주중/주말 트래픽 패턴이 명확하지는 않지만, 데스크톱 Chrome과 매우 유사합니다.


아마 놀라운 일은 아니겠지만, 모바일 Safari와 모바일 Safari Webview의 사용 패턴은 데스크톱 Safari의 사용 패턴과 매우 흡사합니다. 10월에는 HTTP/1.1 점유율이 증가했고, HTTP/3은 3% 미만에서 18% 가까이 높은 성장세를 보였습니다.
검색 인덱싱 봇
검색 엔진 크롤러/봇별로 다양한 버전의 HTTP 사용량을 살펴본 결과, 작년의 추세가 계속되고 있으며 HTTP/3의 사용량은 거의 또는 전혀 없는 것으로 나타났습니다. (앞서 언급했듯이 HTTP/3은 브라우저 사용 사례에 최적화되어 있으므로 이는 어느 정도 예상된 결과입니다.) Bing & Baidu의 그래프는 조사 중인 4월의 비정상적인 데이터로 인해 2023년 4월 1일로 끝나는 기간으로 잘려져 있습니다.
GoogleBot은 일반적으로 요청량의 55~60%를 차지하는 HTTP/1.1에 주로 의존하고 있습니다. HTTP/3의 미미한 사용량이 3월에 2% 미만으로 정점을 찍었지만, 그 나머지는 거의 대부분 HTTP/2입니다.

2023년 1월까지 Microsoft의 BingBot 요청의 약 85%가 HTTP/2를 통해 이루어졌지만, 1월 말에는 80%에 가까운 수준으로 떨어졌습니다. HTTP/3 사용량이 미미했으므로 나머지 요청은 HTTP/1.1을 통해 이루어졌습니다.

미국 이외의 지역에 기반을 둔 검색 엔진의 인덱싱 봇을 살펴보면, 러시아의 YandexBot은 8월 말부터 11월 중순 사이에 사용량이 증가하기는 했지만, 일반적으로 HTTP/2 사용량이 1% 내외로, 거의 독점적으로 HTTP/1.1을 사용하는 것으로 나타났습니다. 궁극적으로 이러한 증가의 원인이 무엇인지는 명확하지 않습니다. HTTP/3에서는 의미 있는 요청량이 보이지 않았습니다. 중국의 검색 엔진 Baidu에서 사용하는 인덱싱 봇도 HTTP/1.1을 강력하게 선호하는 것으로 보이며, 일반적으로 요청의 85% 이상에 사용됩니다. 그러나 HTTP/2를 통한 요청 비율은 2022년 7월, 11월, 12월과 2023년 1월에 잠시 60% 이상에 도달하는 등 여러 차례 급등했으며, 30% 범위에서 몇 차례 추가로 급등했습니다. 다시 말하지만, 이러한 급등의 원인은 명확하지 않습니다. BaiduBot의 HTTP/3 사용도 사실상 존재하지 않습니다.


소셜 미디어 봇
위의 Bing & Baidu와 마찬가지로 아래 그래프도 4월 1일로 끝나는 기간으로 잘라낸 것입니다.
작년 한 해 동안 Facebook의 사이트 크롤링 및 인덱싱에 대한 HTTP/3 사용량은 전년도와 비슷하게 0에 가까운 수치를 유지했습니다. HTTP/1.1은 이 기간 동안 전체 요청의 60% 미만을 차지했으며, 5월 말에 잠시 정점을 찍은 것을 제외하고는 한 해 동안 꾸준히 감소하여 2023년 4월에는 약 30%로 떨어졌습니다. 이에 따라 HTTP/2의 사용량은 2022년 5월 40%에 불과했던 것이 2023년 4월에는 70% 이상으로 증가했습니다. 메타 엔지니어들은 HTTP/1.1 사용에서 벗어나는 이러한 변화가 인프라의 HTTP 사용에 있어서 예상되었던 점진적인 변화이며, 자신들이 인프라에서 HTTP/1.1을 완전히 제거하기 위해 서서히 작업을 진행하고 있다고 확인했습니다.

작년 블로그 게시물에서 Cloudflare에서는 "TwitterBot은 HTTP/2를 강력하고 일관되게 선호하고, 전체 요청의 75~80%를 차지하며 그 나어지는 HTTP/1.1입니다"라고 언급한 바 있습니다. 이러한 선호는 10월 초까지 대체로 유지되었지만, 그 시점부터 HTTP/2 사용량이 점차 감소하기 시작하여 2023년 4월에는 60%를 약간 상회하는 수준으로 떨어졌습니다. 2022년 5월 말 일주일 동안 HTTP/2 사용량이 감소하고 HTTP/1.1 사용량이 급증한 원인은 명확하지 않습니다. 그리고 작년에 언급했듯이 TwitterBot의 HTTP/3 사용은 여전히 존재하지 않습니다.

Facebook과 Twitter의 사이트 크롤링 봇과 달리, HTTP/3은 실제로 LinkedIn 봇의 요청량에서 눈에 띄게 증가하고 있으며, 2022년 5월 1% 미만에서 2023년 4월에는 10%를 조금 넘는 수준으로 증가했습니다. 작년에 LinkedIn의 HTTP/2 사용량은 2022년 3월부터 올라가기 시작하여 전체 요청량의 약 5%로 증가했습니다. 이 버전의 사용량은 올해 조사 기간 동안 점진적으로 늘어나 15%까지 증가했지만, 매끄럽고 일관된 증가세가 아니라 특히 불규칙하고 급격한 증가세를 보였습니다. HTTP/1.1의 점유율은 2022년 5월 약 95%에서 2023년 4월 75%로 하락했지만, 여전히 LinkedIn의 봇이 사용하는 주요 프로토콜로 남아 있습니다.

결론
전반적으로 브라우저 기반 트래픽 소비에서 HTTP/3의 사용이 전반적으로 증가하고 있는 것을 확인하게 되어 기쁘게 생각하며, HTTP/3이 curl과 같은 주요 도구의 프로덕션 지원을 통해 API 상호작용에 더 적극적으로 사용되기 시작하면 상당한 추가 성장의 기회가 있음을 인식하고 있습니다. 저희는 검색 엔진과 소셜 미디어 봇의 HTTP/3 사용량이 미미하거나 아예 존재하지 않는 것을 보고 실망하기는 했지만, 웹의 기본 프로토콜 최신 버전 사용의 실시간 이점이 비동기 자동 콘텐츠 검색에 완전히 적용되지 않을 수도 있다는 사실도 잘 알고 있습니다.
이러한 동향 및 기타 동향은 Cloudflare Radar의 "Adoption and Usage" 섹션(https://radar.cloudflare.com/adoption-and-usage)에서 확인할 수 있으며, Twitter에서 @CloudflareRadar를 팔로우하거나 Mastodon에서 https://cloudflare.social/@radar를 팔로우하여 확인할 수 있습니다.