블로그

HTTP/3는 중대한 변화와 과제를 가져올 것입니다

로리 맥비티 썸네일
로리 맥비티
2019년 3월 18일 게시

HTTP/2는 마치 일시적인 유행처럼 보였던 기술입니다. 비준된 표준은 2015년에 큰 화제 속에 발표되었습니다. 이는 1999년 이래 인터넷 공용어 에 일어난 최초의 중요한 변화였습니다.

그리고 갑자기 조용해졌습니다. 여러 유명 대학의 연구자들이 개발하고 유지 관리하던 HTTP/2 대시보드는 2016년 말에 사용이 중단되었습니다. 그 이후로 입양 통계에 대한 업데이트는 없었습니다. 더 이상 그것에 대해 이야기하는 사람은 없습니다. 15분간의 명성은 이미 지나간 듯하다.

하지만 그것은 배경에서 계속해서 주목을 받고 있습니다. HTTP/2는 천천히 그러나 확실하게 앱 스택에 도입되고 있습니다.

HTTP/2는 여전히 IPv6를 앞지르고 있다

애플리케이션, 특히 HTTP 변형을 통해 실행되는 애플리케이션에 생존이 달려 있는 조직으로서 우리는 HTTP/2의 도입을 주의 깊게 지켜보았습니다. 우리는 2018년에 애플리케이션 서비스 현황 연구를 통해 HTTP/2 게이트웨이 서비스 추적을 시작했습니다. 2018년에는 응답자의 40%가 HTTP/2 게이트웨이를 배포했다고 답했습니다. 2019년에는 33%로 떨어졌습니다. 퍼블릭 클라우드에서는 응답자의 19%가 일부 애플리케이션에 HTTP/2 게이트웨이를 사용합니다. 2019년에 응답자의 25%가 배포를 계획했으며, 2년 연속으로 내년에 배포될 상위 5대 애플리케이션 서비스 목록에 올랐습니다.

HTTP/2 대시보드에 따르면 2016년 11월 16일을 기준으로 25만 개가 넘는 도메인이 HTTP/2를 지원한다고 발표했습니다. 이런 종류의 정보를 추적하는 Netcraft에 따르면 인터넷에는 18억 개가 넘는 사이트가 있습니다. W3Techs에 따르면 HTTP/2 사용량은 모든 웹사이트의 33%로, 인터넷을 상위 100만 개 사이트로 제한하면 2016년에 언급된 25만 개의 도메인과 비교해도 좋은 수치입니다. 이러한 제한을 감안하면 HTTP/2를 채택한 사이트의 수는 모두 25-35% 정도인 것으로 보입니다.

이 속도가 충분하지 않다고 생각하신다면 IPv6가 훨씬 오래 전부터 존재했으며 2019년 1월 현재 웹사이트의 13.4%만 수집했다는 점을 고려해보세요. 

HTTP/3가 온다

이제 HTTP/3는 훨씬 더 극적인 변화를 거쳐 출시될 예정입니다. HTTP/3에 대해 잘 모르시겠다면 Google의 HTTP-over-QUIC을 HTTP/3로 리브랜딩하려는 IETF 승인 제안을 확인해보시기 바랍니다. SPDY가 HTTP/2의 기반이 된 것과 마찬가지로 QUIC은 HTTP/3의 기반입니다.

하지만 HTTP/2의 변화가 극적이라고 생각했다면 아직은 아무것도 보이지 않은 것입니다.

QUIC와 HTTP/3는 UDP를 기반으로 합니다. 이는 기존의 안정적인 TCP에 의존하는 것과는 상당히 다른 변화입니다. 그리고 암호화에 대한 요구 사항을 포기하고 제거한 HTTP/2와 달리(브라우저 빌더가 어차피 암호화된 HTTP/2만 지원하기로 결정했기 때문에 논란의 여지가 있는 문제임), HTTP/3에서는 암호화가 필요합니다.  

 

"이제 때가 됐어!"라고 생각하실 수도 있습니다. 모든 것을 암호화하세요!!"
"이제 때가 됐어!"라고 생각하실 수도 있습니다. 모든 것을 암호화하세요!!"

물론 이는 타당하고 고상한 의도이기는 하지만, 그 의미는 인프라와 아키텍처, 특히 서비스 제공업체에 엄청난 영향을 미칠 것입니다. 암호화를 스택 위로 끌어올려 거의 모든 것을 포함시키고 TCP에서 UDP로 전환하면서 모든 것이 바뀌었습니다. 대부분의 보안 시스템은 UDP가 전달하는 내용을 아주 자세히 검사하는 데 익숙하지 않습니다. UDP를 사용하는 트래픽의 대부분은 DNS, NTP와 같은 유틸리티와 인프라 서비스입니다. HTTP/3의 새로운 세계에서는 페이로드를 면밀히 검사하지 못하면 위험할 수 있습니다. 결국, 전달되는 콘텐츠가 악의적일 가능성이 매우 높습니다. 봇일 수도 있어요. 공격일 수도 있어요. 무엇이든 될 수 있어요.

암호화 요구 사항도 "중간 상자"가 트래픽을 검사하는 것을 더욱 어렵게 만듭니다. 이러한 검사는 애플리케이션과 데이터의 보안을 유지하는 데 중요합니다. 전송 계층 프로토콜의 변경도 문제가 될 수 있습니다. 보안 서비스는 종종 애플리케이션 트래픽(대부분 HTTP)이 TCP를 통해 전송된다는 전제를 기반으로 구축됩니다. TCP는 신뢰할 수 있는 연결 지향 프로토콜입니다. UDP로의 변경은 UDP가 데이터그램 기반(패킷) 프로토콜이고 신뢰할 수 없기 때문에 애플리케이션 트래픽을 구문 분석하고 분석하는 보안 인프라의 기능에 상당한 영향을 미칠 수 있습니다.  

입양을 향한 느린 길 

HTTP/3의 도입은 느릴 것으로 예상되며, HTTP/2는 느리지만 꾸준히 확산되고 있습니다. 결국, 대부분의 웹은 여전히 오래된 HTTP/1.x에 의존하고 있습니다. HTTP/2가 HTTP/1.x를 추월하기까지는 어느 정도 시간이 걸리고, 그렇게 빨리 전체 인프라와 애플리케이션 스택을 마이그레이션할 가능성은 낮습니다.

보안 서비스 제공업체가 적응할 수 있을 때까지 보안 인프라에 미치는 영향도 크기 때문에 도입 속도는 느릴 것으로 보입니다. 제로 트러스트 이니셔티브클라이언트의 장치 ID와 평판과 같은 더 광범위한 컨텍스트를 통합하는 것은 궁극적으로 애플리케이션을 보호하기 위한 보다 포괄적인 전략으로 보안이 이전됨에 따라 큰 도움이 될 수 있습니다. 제로 트러스트 기술의 성숙과 도입은 HTTP/3의 보안 과제를 해결하는 데 도움이 될 수 있습니다. 보안 서비스가 실시간으로 나쁜 행위자를 식별하는 데 더 의존하게 되면서, 악성 활동의 페이로드를 쉽게 탐색하지 못하는 위험이 완화됩니다.  

HTTP/3는 2019년 여름까지는 출시되지 않을 것으로 예상된다. HTTP/2의 느리지만 꾸준한 도입과 HTTP/3이 제기하는 보안 문제를 감안할 때, HTTP/3의 도입은 가까운 미래에 길고 힘든 여정을 겪을 가능성이 높습니다.