HTTP/2가 바이너리 프로토콜이지만, 기존 HTTP의 헤더와 바디로 구성되는 구성요소에는 변함이 없다.

HTTP/1.1은 텍스트 프로토콜이다. 헤더의 끝을 찾으려면 'CRLF'의 빈줄을 찾아야하기 때문에 데이터를 1바이트씩 살펴볼 수 밖에 없었다.

하지만 HTTP/2는 바이너리 프로토콜이며 처음에 프레임 크기가 명시되기 때문에, 데이터들을 1바이트씩 읽지 않고 한번에 읽어올 수 있다. 그렇게 되면 TCP 소켓의 버퍼를 빠르게 비울 수 있고, 다음 데이터 처리를 더 빠르게 할 수 있다.

또한 HTTP/2에서는 프레임에 대한 스트림 식별자가 존재하기 때문에 중간에 다른 스트림의 프레임이 끼어들어도 문제 없이 해석이 가능하다.