Multiplexing
멀티플렉싱은 여러 응답 조각을 한 연결에서 섞어 보낸다
HTTP/2는 각 요청/응답을 스트림으로 구분하고, 스트림별 프레임을 하나의 TCP 연결에서 교차 배치한다.
클라이언트 시작 스트림은 보통 홀수 ID를 사용
HTML, CSS, JS 응답 조각이 같은 연결에서 교차 전달
HTTP 계층 HOL은 줄지만 TCP 손실 영향은 공유
한 TCP 연결
프레임은 섞이고, 스트림 ID로 다시 조립된다
시간
t1
t2
t3
t4
t5
t6
Stream 1
HEADERS
DATA
DATA
END
Stream 3
HEADERS
DATA
END
Stream 5
HEADERS
DATA
DATA
END
동시성요청을 기다리지 않음
앞 응답이 끝나기 전에도 다른 스트림 프레임을 보낼 수 있다.
재조립스트림 ID 기준
수신자는 Stream ID로 프레임을 모아 각 응답을 복원한다.
공유 한계TCP 바이트 순서
전송 계층 손실은 같은 TCP 연결의 모든 바이트 전달에 영향을 준다.