2022년 인터넷 기술 표준 책정 단체인 IETF가 HTTP 새 버전으로 HTTP/3을 표준화한 이후 HTTP/3 이용은 웹에서 급속도로 보급되어 갔다. HTTP/3에는 어떤 이점이 있어 이렇게 급속도로 보급되게 됐을까.
HTTP/3을 비롯한 네트워크 프로토콜은 스마트폰 웹 서버 같은 네트워크상 두 엔티티간 데이터를 어떻게 통신할 것인지 결정한다. 많은 기업이 웹용 소프트웨어를 구축하기 때문에 모든 소프트웨어가 서로 통신할 수 있도록 프로토콜을 표준화해야 한다. 이 때 단일 프로토콜을 사용하는 대신 규칙이 다른 다양한 프로토콜을 조합해 사용해 유연성과 재사용성을 높인다. 이렇게 해 와이파이, 케이블, 휴대선 등 기반이 되는 경로가 달라도 똑같은 HTTP 규칙을 이용할 수 있게 된다.
인터넷을 지원하는 프로토콜 대부분은 1980년대부터 1990년대에 걸쳐 표준화되어 있기 때문에 현대에는 크게 주변 환경이 바뀌는 프로토콜이 존재하고 있다. 이 중 하나가 TCP다. HTTP/1.1이나 HTTP/2에선 TCP를 이용해 통신을 실시한다. 다시 말해 HTTP 요청 응답을 교환하기 전에 클라이언트 서버간 TCP 연결을 설정해야 한다. 하지만 TCP는 단일 파일 교환을 염두에 두고 설계된 프로토콜이며 이제 수백 개에 이르는 개별 파일 모음으로 이뤄진 웹사이트를 표시하는 데에는 비효율적이라는 문제가 있다.
스마트폰이나 노트북, PC, 서버 외에 라우터나 방화벽, 로드밸런서 등 다수 미들웨어를 포함해 인터넷상 다수 기기가 독자적으로 TCP를 구현하고 있기 때문에 TCP 규칙을 업데이트해도 실제 장치에 반영되기까지는 몇 년이 걸린다. 따라서 TCP를 업데이트하는 게 아니라 새로운 프로토콜을 책정하게 된 것이다.
이렇게 등장한 건 QUIC이다. QUIC는 웹상 암호화를 맡는 TLS와 통합되어 있으며 기존 TCP+TLS를이용하면 구성에선 HTTP 데이터 내용만 암호화 대상이었지만 QUIC에선 패킷 번호나 접속 종료 시그널 등 메타 데이터 등을 시작해 통신 내용의 QUIC 프로토콜 자체 부분에 대해서도 대부분 암호화된다.
암호화 범위가 넓어지면 일반 보안이나 개인 정보 보호 측면에서 이점이 있을 뿐 아니라 클라이언트와 서버 사이에 존재하는 미들웨어가 암호화 대상 메타 데이터에 액세스할 수 없어 미래에 QUIC 프로토콜 버전 업이 필요해도 클라이언트와 서버 부분만 갱신해도 되는 장점이 존재한다.
더구나 QUIC에는 증폭 방지나 RETRY 패킷 같은 기능이 있어 디도스 공격에 대한 방어력이 높아지는 것 외에 TCP보다 효율이나 성능이 대폭 높아진다. QUIC는 핸드셰이크에 필요한 통신 횟수를 2회로 줄였고 HOL 블로킹(Head-of-Line Blocking) 문제를 해결하고 패킷 손실 탐지와 복구 성능을 높이며 사용자가 네트워크를 전환할 경우에도 대처가 이뤄지고 있다.
처음에는 TCP를 QUIC로 대체하고 그 위 프로토콜로 HTTP/2를 이용하는 것도 고안됐다. 하지만 TCP와 QUIC 차이가 너무 커서 QUIC 전용 새 HTTP 버전으로 HTTP/3이 생성됐다.
이 때문에 HTTP/3과 HTTP/2간 차이는 거의 QUIC인가 TCP인가라는 점을 얘기한다. 하지만 QUIC는 TCP에 비해 웹페이지 로딩 속도나 영상 스트리밍 성능이 높아지고 있으며 성능 차이에 민감한 IT 대기업이 차례로 이용하기 시작하면서 HTTP/3이 빠르게 보급되어 간 것이다. 관련 내용은 이곳에서 확인할 수 있다.