HTTP/2는 TCP 한 줄에 섞인 frame을 stream id로 재조립한다
여러 요청의 HEADERS와 DATA frame이 하나의 TCP 연결에서 섞여 흘러도 stream id가 요청 경계를 복원한다.
TCP 도착 순서
frame
받는 stream
1
HEADERS GET /a
stream 1 시작
2
HEADERS GET /b
stream 3 시작
3
DATA A1
stream 1 본문
4
DATA B1
stream 3 본문
5
END_STREAM A
stream 1 완료
필드
역할
없으면 생기는 문제
type
HEADERS/DATA/RST_STREAM 의미
본문과 제어 frame을 구분 못함
stream id
요청/응답 묶음 기준
섞인 frame을 재조립 못함
flags
END_STREAM 같은 끝 표시
완료 판단이 늦거나 틀림