HTTP의 진화, HTTP/3

2025. 4. 1. 14:29·IT/Web
반응형

HTTP의 진화, HTTP/3

HTTP/3는 전송 계층에서 TCP 대신 QUIC을 사용한다.

QUIC

HTTP/3에서 QUIC 기능을 통해 지연 시간 단축, 네트워크 안정성, 빠른 성능을 가능하게 한다.

  • 훨씬 낮은 대기 시간 제공
    • TCP는 핸드쉐이크 후 별도로 TLS 과정을 수행하지만 QUIC은 핸드쉐이크 단일 과정에서 처리
  • UDP를 통해 개별 스트림이 독립적으로 실행
  • 연결 ID(Connection ID)로 세션 유지 가능
    • Wifi에서 Lan으로 변경 등 네트워크 변경 상황에서도 연결 ID를 통해 연결 유지할 수 있다.
    • 네트워크 전환 중에도 연결을 유지할 수 있다.
  • 개별 스트림 기반 전송으로 손실된 스트림만 재전송 가능
    • HTTP/2는 다중화 프로토콜로 여러개의 동시 HTTP 트랜잭션을 허용하지만, 단일 TCP 연결에서 다중화 된 것으로 TCP 계층에서 네트워크 파티션 발생시 모든 HTTP 트랜잭션이 차단될 수 있다.
    • QUIC은 UDP를 통해 별도로 패킷 손실 감지와 재전송을 할 수 있어 문제가 발생한 스트림만 차단이 가능하다.
  • RFC 9000 - QUIC (https://datatracker.ietf.org/doc/html/rfc9000)
  • RFC 9114 - HTTP/3 (https://datatracker.ietf.org/doc/html/rfc9114)


유투브에서 HTTP/3를 도입으로 얻은 이점

구글이나 인스타그램 등 이미 HTTP/3을 사용 중이고 통계상 30% 이상이 HTTP/3를 사용 중이라고 한다.

유튜브

초기 재생 속도 개선 (Faster Playback Start Time)

  • QUIC의 0-RTT 연결을 사용하여 더 빠르게 비디오 스트리밍을 시작
  • 특히 모바일 사용자처럼 네트워크 상태가 불안정한 환경에서, 빠른 재생 시작

연결 유지성으로 버퍼링 감소 (Reduced Buffering)

  •  QUIC의 스트림 단위 전송 덕분에 일부 패킷 손실이 있더라도 전체 비디오 버퍼링에 영향을 주지 않음
  •  모바일에서 네트워크가 변경 되어도 세션을 유지할 수 있는 연결 마이그레이션 기능을 제공하여 끊기지 않고 영상 시청 가능

출처

https://developer.mozilla.org/ko/docs/Glossary/QUIC

 

QUIC - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN

QUIC은 UDP 상에 구현된 다중 전송 프로토콜입니다. HTTP/3의 전송 계층으로 TCP 대신 사용됩니다.

developer.mozilla.org

 

728x90
반응형
저작자표시 비영리 (새창열림)
'IT/Web' 카테고리의 다른 글
  • HTTP의 진화, HTTP/2
  • HTTP의 진화
  • [Web Hacking] Challange 54 풀이
  • [Web Hacking] Challange 24 풀이
상쾌한기분
상쾌한기분
  • 상쾌한기분
    상쾌한기분
    상쾌한기분
  • 전체
    오늘
    어제
    • 분류 전체보기 (251)
      • Python (44)
        • Python (26)
        • Django (6)
        • Flask (4)
        • Open Source (6)
      • Kotlin & Java (5)
        • Spring (2)
        • 프로젝트 (1)
      • Go (11)
      • Database (24)
        • MySQL (21)
        • Redis (3)
      • Infrastructure (2)
        • CDC (4)
        • Kafka (5)
        • Prometheus (2)
        • Fluentd (11)
        • Docker (1)
        • Airflow (2)
        • VPN (2)
      • IT (26)
        • AI (9)
        • Langchain (8)
        • Web (18)
        • Git (8)
        • 리팩토링 (9)
        • Micro Service Architecture (8)
        • Clean Code (16)
        • Design Pattern (0)
        • 수학 (1)
        • 알고리즘 (14)
      • OS (14)
        • Centos (10)
        • Ubuntu (3)
        • Mac (1)
      • Search Engine (2)
        • ElasticSearch (1)
        • Lucene Solr (1)
      • PHP (2)
        • Laravel (1)
        • Codeigniter (1)
  • 블로그 메뉴

    • Github 방문
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    MYSQL
    prompt
    performance
    Redis
    오블완
    ollama
    http
    LLM
    go
    CDC
    docker
    Langchain
    Kafka
    파이썬
    Golang
    fluentd
    백준
    티스토리챌린지
    python
    git
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
상쾌한기분
HTTP의 진화, HTTP/3
상단으로

티스토리툴바