본문 바로가기

네트워크/HTTP

HTTP/2와 HTTP/3를 TCP와 UDP 관점에서 비교 | ChatGPT

728x90
반응형

HTTP/2와 HTTP/3를 TCPUDP 관점에서 비교하면, 프로토콜의 설계와 동작 방식에서 중요한 차이점을 이해할 수 있습니다.


HTTP/2 (TCP 기반)

HTTP/2는 TCP(Transmission Control Protocol)를 기반으로 작동합니다.

TCP의 특징

🔵 연결 지향적: 데이터를 전송하기 전에 3-way handshake라는 연결 설정 절차를 거칩니다.

🔵 신뢰성 보장: 모든 패킷이 순서대로 도착해야 하며, 손실된 패킷은 재전송됩니다.

🔴 장점: 신뢰성이 높고, 전송된 데이터의 무결성을 보장합니다.

🔴 단점: 손실된 패킷 하나 때문에 전체 스트림이 지연될 수 있는 Head-of-Line Blocking 문제가 발생합니다.

HTTP/2의 개선 사항

🟡 TCP의 Head-of-Line Blocking 문제를 해결하기 위해 멀티플렉싱(여러 요청을 동시에 처리)을 도입했지만, 여전히 TCP의 근본적인 특성 때문에 데이터 전송의 지연이 발생할 수 있습니다.

🟡 헤더 압축서버 푸시 기능으로 성능을 개선하려 했으나, 네트워크의 신뢰성 문제에서는 한계가 존재합니다.


HTTP/3 (UDP 기반)

HTTP/3는 UDP(User Datagram Protocol) 기반의 QUIC(Quick UDP Internet Connections) 프로토콜을 사용합니다.

UDP의 특징

🔵 비연결 지향적: 연결 설정 과정 없이 데이터를 바로 전송하며, 패킷의 순서나 신뢰성은 보장하지 않습니다.

🔴 장점: 빠른 전송, 헤더와 핸드셰이크 없이 빠른 통신 가능.

🔴 단점: 패킷 손실이나 순서 보장이 없는 비신뢰성.

HTTP/3의 개선 사항

🟡 QUIC은 UDP 기반이지만, TCP의 신뢰성을 구현하는 요소들을 추가했습니다. 패킷 손실에도 전체 연결이 지연되지 않도록 각 스트림이 독립적으로 처리됩니다. 이를 통해 Head-of-Line Blocking 문제를 해결합니다.

🟡 핸드셰이크 절차가 UDP 기반으로 매우 간소화되어, TCP와 비교해 훨씬 빠르게 연결을 설정하고 데이터를 전송할 수 있습니다.

🟡 TLS 암호화가 기본적으로 통합되어 보안성이 강화되었습니다.


핵심 비교

HTTP/2는 TCP 기반이기 때문에 신뢰성이 높지만, 연결 설정 및 패킷 재전송으로 인한 지연이 발생할 수 있습니다.

HTTP/3는 UDP 기반의 QUIC을 사용하여, TCP의 신뢰성과 UDP의 빠른 전송 속도를 동시에 추구하며, 지연을 최소화합니다.

이로 인해 HTTP/3는 웹 성능이 중요한 애플리케이션에서 더 나은 성능을 발휘할 수 있습니다.

출처 | ChatGPT

728x90
반응형