[HTTP] HTTP/2.0 프레임

2022. 10. 26. 22:26TIL💡/Network

HTTP/1.x 메시지는 성능상의 결함을 몇가지 내포하고 있다.

  • 본문은 압축이 되지만 헤더는 압축이 되지 않는다.
  • 연속된 메시지들은 비슷한 헤더 구조를 띄기 마련인데, 그럼에도 불구하고 메시지마다 반복되어 전송되고 있다.
  • 다중전송(multiplexing)이 불가능하다. 서버 하나에 연결을 여러 개 열어야 한다. 적극적인(warm) TCP 연결이 소극적인(cold) TCP 연결보다 효율적인데 말이죠.

HTTP/2에서는 추가적인 단계가 도입되었다. HTTP/1.x 메시지를 프레임으로 나누어 스트림에 끼워넣는다.

데이터와 헤더 프레임이 분리되었기 때문에 헤더를 압축할 수 있다. 스트림 여러 개를 하나로 묶을 수 있어서(이러한 과정을 멀티플렉시이라 한다.), 기저에서 수행되는 TCP 연결이 좀 더 효율적이게 된다.

 

이제 웹 개발자 입장에서는 HTTP 프레임을 매우 쉽게 살펴볼 수 있게 되었습니다. HTTP 프레임은 HTTP/2에서 추가된 단계이며, HTTP/1.1 메시지와 그 기저를 이루는 전송 프로토콜 사이를 메워주는 존재입니다. 그렇다고 해서 HTTP 프레임 때문에 개발자들이 API를 바꿔야 할 필요는 없습니다. 브라우저와 서버 둘 다 모두 HTTP 프레임을 받아 들일 수 있다면, HTTP/2가 활성화 된 후에 사용될 것입니다.

'TIL💡 > Network' 카테고리의 다른 글

[HTTP] HTTP/1.x의 커넥션 관리  (0) 2022.10.26
[HTTP] 전형적인 HTTP 세션  (0) 2022.10.26
[HTTP] HTTP 진화 과정  (0) 2022.10.26
[HTTP] HTTP 개념 정리 💡  (0) 2022.10.26
[Network] JWT란  (0) 2022.09.30