HTTP3 소개
HTTP/3는 인터넷 통신 프로토콜인 HTTP의 최신 버전으로, 이전 버전인 HTTP/2의 후속 버전입니다.
HTTP/3의 목표는 웹 통신의 성능과 보안을 향상시키는 것입니다.
이전 버전과의 주요 차이점은 UDP를 사용하여 데이터를 전송한다는 점입니다.
QUIC: UDP 기반 전송 프로토콜
QUIC(Quick UDP Internet Connections)은 HTTP/3에서 사용되는 전송 프로토콜입니다.
QUIC은 UDP를 기반으로 데이터를 전송하며, 패킷 손실이나 지연 발생 시 재전송을 통해 성능을 향상시킵니다.
UDP의 경량성과 빠른 연결 설정 과정으로 인해 HTTP/3는 TCP에 비해 더 낮은 지연 시간을 가집니다.
멀티플렉싱 및 스트리밍 기능
HTTP/3는 멀티플렉싱을 지원하여 여러 개의 스트림을 병렬로 전송할 수 있습니다.
이를 통해 웹 페이지 로딩 속도를 향상시키고, 사용자 경험을 개선할 수 있습니다.
또한, HTTP/3는 스트리밍 기능을 제공하여 실시간 데이터 전송에 특화되어 있습니다.
보안성 강화: QUIC의 보안 기능
QUIC은 초기 연결 단계에서 인증과 암호화를 처리하여 보안 연결을 빠르게 설정할 수 있습니다.
중간자 공격 및 데이터 조작 등에 대한 보호를 제공하여 보안성을 강화합니다.
또한, QUIC은 기존의 TLS 프로토콜 대신 자체적인 보안 기능을 사용하여 보안성을 강조합니다.
HTTP/3의 잠재적인 영향
HTTP/3의 성능과 보안 면에서 이전 버전과 비교하여 어떤 이점이 있는지 살펴봅니다.
성능 향상:
낮은 지연 시간: HTTP/3는 UDP 기반의 전송 프로토콜인 QUIC를 사용하여 연결 설정과 데이터 전송을 더 빠르게 처리합니다. UDP의 경량성과 빠른 연결 설정 과정으로 인해 HTTP/3는 TCP에 비해 더 낮은 지연 시간을 가집니다.
멀티플렉싱: HTTP/3에서는 멀티플렉싱을 지원하여 여러 개의 스트림을 병렬로 전송할 수 있습니다. 이를 통해 웹 페이지 로딩 속도를 향상시키고, 사용자 경험을 개선할 수 있습니다.
스트리밍 기능: HTTP/3는 스트리밍 기능을 제공하여 실시간 데이터 전송에 특화되어 있습니다. 이를 통해 실시간 영상 스트리밍, 대화형 웹 애플리케이션 등에서 더 나은 성능을 제공할 수 있습니다.
보안성 강화:
빠른 보안 연결 설정: QUIC은 초기 연결 단계에서 인증과 암호화를 처리하여 보안 연결을 빠르게 설정할 수 있습니다. 이를 통해 보안 연결의 설정 시간이 단축되어 사용자 경험을 향상시킵니다.
중간자 공격 방지: QUIC은 중간자 공격과 데이터 조작 등에 대한 보호를 제공합니다. 중간에서 HTTP/3 트래픽을 모니터링하거나 수정하는 것이 어렵기 때문에 보안성이 강화됩니다.
TLS 대체 기능: QUIC은 기존의 TLS 프로토콜 대신 자체적인 보안 기능을 사용하여 보안성을 강조합니다.
HTTP 3 의 이점
패킷 손실 및 복구
QUIC은 패킷 손실이 발생한 경우 재전송을 통해 데이터의 신뢰성을 보장합니다. TCP와 달리 QUIC는 패킷 손실을 감지하고 빠르게 재전송하여 데이터 손실을 최소화합니다. 이는 웹 페이지 로딩 시간을 단축하고, 대역폭의 효율성을 높이는 데 도움을 줍니다.
네트워크 혼잡 제어
HTTP/3는 혼잡한 네트워크 환경에서도 성능을 유지하는 데 도움이 됩니다. QUIC는 혼잡 제어 알고리즘을 내장하고 있어 네트워크 혼잡을 감지하고 데이터 전송 속도를 조절합니다. 이로써 네트워크 혼잡에 의한 성능 저하를 최소화하고 안정적인 웹 통신을 유지할 수 있습니다.
연결 유지 및 이동성
QUIC는 연결 상태를 유지하는 기능을 제공합니다. 이는 모바일 장치의 이동성이나 네트워크 전환 상황에서도 빠른 연결 유지와 대기 시간 감소를 가능하게 합니다. 따라서 사용자는 네트워크 전환 등으로 인한 연결 중단 없이 웹 서비스를 계속 이용할 수 있습니다.
HTTP 3 의 단점
채택 및 호환성 문제
현재 HTTP/3의 채택 상황은 진행 중이며, 모든 웹 서비스와 브라우저에서 지원되지 않을 수 있습니다. 일부 네트워크 환경이나 장치에서는 호환성 문제가 발생할 수 있습니다.
네트워크 인프라 구조 변경 요구
HTTP/3는 UDP 기반으로 동작하므로, 기존의 TCP 기반 인프라에서는 적절한 변환과 업데이트가 필요합니다. 이로 인해 네트워크 관리 및 관련 인프라 업데이트에 일부 비용과 노력이 필요할 수 있습니다.
성능 이슈
UDP는 신뢰성이 낮은 프로토콜로 알려져 있습니다. 패킷 손실이나 지연이 발생할 경우, 재전송을 통해 문제를 해결하려 하지만, 이로 인해 성능 저하가 발생할 수 있습니다.
중간자 관리의 어려움
QUIC은 초기 연결 단계에서 인증과 암호화를 처리하기 때문에 중간자 관리가 복잡해집니다. 중간에서 HTTP/3 트래픽을 모니터링하거나 수정하는 것이 어려울 수 있습니다.
실험적인 상태
HTTP/3는 아직 실험적인 상태이며, 표준으로 최종화되지 않았습니다. 따라서 몇 가지 사양 변경이나 업데이트가 계속해서 이루어질 수 있습니다.
'다양한 TIP' 카테고리의 다른 글
CMakeLists.txt libxxx.a 저장위치 설정하기 (0) | 2023.06.28 |
---|---|
Syntax Error(구문 오류) 프로그래밍에서 흔히 접하는 실수와 해결 방법 (0) | 2023.06.20 |
C++ 컴파일 옵션 설명 -l -L -I (0) | 2023.06.14 |
댓글