Binary Framing
HTTP/2는 의미는 유지하고 전송 표현을 프레임으로 바꾼다
HTTP 메서드, 상태 코드, 헤더 같은 의미는 그대로 두고, 전송 계층에는 HEADERS, DATA 같은 바이너리 프레임을 보낸다.
메시지를 작은 프레임으로 나누어 스트림 ID를 붙임
한 TCP 연결 위에 여러 HTTP/2 스트림을 실음
프레임 순서는 섞일 수 있지만 같은 스트림 내부 순서는 유지
의미 계층GET, status, field, body
->
프레이밍 계층HEADERS, DATA, SETTINGS
->
전송 연결하나의 바이트 스트림
HTTP/2 프레임 헤더
공통 9바이트 헤더
Length24 bit
Type8 bit
Flags8 bit
Stream IDR + 31 bit
Frame PayloadHEADERS, DATA 등 타입별 내용
HEADERS요청/응답 메타데이터
의사 헤더와 필드 블록을 담는다.
DATA본문 조각
응답 본문이나 요청 본문을 스트림별로 나눈다.
SETTINGS연결 설정
프레임 크기, 동시 스트림 수 같은 값을 협상한다.