Binary Framing

HTTP/2는 의미는 유지하고 전송 표현을 프레임으로 바꾼다

HTTP 메서드, 상태 코드, 헤더 같은 의미는 그대로 두고, 전송 계층에는 HEADERS, DATA 같은 바이너리 프레임을 보낸다.

메시지를 작은 프레임으로 나누어 스트림 ID를 붙임
한 TCP 연결 위에 여러 HTTP/2 스트림을 실음
프레임 순서는 섞일 수 있지만 같은 스트림 내부 순서는 유지
HTTP의미 계층GET, status, field, body
->
H2프레이밍 계층HEADERS, DATA, SETTINGS
->
TCP전송 연결하나의 바이트 스트림
HTTP/2 프레임 헤더

공통 9바이트 헤더

Length24 bit
Type8 bit
Flags8 bit
Stream IDR + 31 bit
Frame PayloadHEADERS, DATA 등 타입별 내용
HEADERS요청/응답 메타데이터

의사 헤더와 필드 블록을 담는다.

DATA본문 조각

응답 본문이나 요청 본문을 스트림별로 나눈다.

SETTINGS연결 설정

프레임 크기, 동시 스트림 수 같은 값을 협상한다.