TCP 통신
을 이용한다]TCP는 3 way handshaking 때문에 신뢰성이 높으나 느리다
HTTP 1.0
: 하나의 TCP 연결에 하나의 요청
HTTP 2.0
: 하나의 TCP 연결에 다수의 요청
→ 단순히 핸드셰이킹 횟수를 줄이면서 레이턴시를 줄인 것, TCP에서 핸드셰이킹은 필수
HTTP 3.0
: UDP
를 사용
HOLB(Head of line blocking)문제
가 있다]UDP
는 하얀 도화지 같아서 커스텀이 가능하다
QUIC
가 UDP
를 이용해서 새로운 프로토콜을 만들어 낼 수 있었다Latency
감소
TCP
가 3번 응답을 주고 받는다 (3 Round Trip Time
)
QUIC
는 1번 응답을 주고 받는다 ( 1 RTT
)
첫번째 핸드셰이크 할때 연결 설정에 필요한 정보와 함께 데이터도 보내버린다
TCP
는 암호화 연결에 필요한 정보를 교환하고 유효성까지 검사한후 데이터를 교환하지만 QUIC
는 그냥 데이터를 꽂는다클라이언트가 서버 세션의 키를 모르는 상황이기 때문에 서버의 Connection ID
를 사용해서 특별한 초기화 키를 사용하여 통신을 암호화한다
한번 연결에 성공하면 캐싱해서 사용하기 때문에 0 RTT
만으로 바로 통신을 시작한다