ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [네트워크] HTTP/2
    CS/네트워크 2021. 4. 22. 19:06

    HTTP/1.1의 단점

    • TCP 기반 위에서 동작하는 프로토콜이기 때문에 신뢰성 확보를 위해 연결을 맺고 끊는 핸드 셰이크가 이루어진다.
    • HTTP는 비연결성 프로토콜이기 때문에 한 번의 요청과 응답이 끝나면 연결을 끊어 버린다.
    • 핸드 셰이크 오버헤드 극복?
      • Keep-alive 기능 추가
        • 한 번 맺어졌던 연결을 끊지 않고 지속적으로 유지
      • 파이브라이닝
        • 하나의 커넥션에서 한 번에 순차적으로 여러 요청을 연속적으로 하고 그 순서에 맞춰 응답을 받는 방식으로 지연 시간을 줄이는 방법
        • HOL(Head Of Line) Blocking 이슈 발생
          • 먼저 받은 요청이 끝나지 않으면 그 뒤의 요청이 끝났더라도 기다려야 하는 이슈

     

    HTTP/2

    • 바이너리 프레이밍 계층을 이용해 요청과 응답의 멀티플렉싱을 지원 (양방향 스트림 통신)
    • HTTP 메세지를 바이너리 형태의 프레임으로 분리하여 송수신
    • 여러 개의 연결 없이 병렬 처리도 할 수 있고 파이브라이닝과는 달리 HOL 이슈도 해결
    • 요청 우선순위를 지정할 수 있고 헤더를 압축하여 헤더 오버헤드를 줄일 수 있음

     

    용어 설명

    멀티플렉싱

    • 하나의 통신 채널을 통해서 둘 이상의 데이터를 전송하는데 사용되는 기술

    'CS > 네트워크' 카테고리의 다른 글

    [네트워크] Netty  (0) 2021.04.22
    [네트워크] gRPC  (0) 2021.04.22
    [네트워크] Sticky Session  (0) 2021.04.22
    [네트워크] OSGI 7 계층  (0) 2021.04.05
    [네트워크] URI와 웹 브라우저 요청 흐름  (0) 2021.04.05

    댓글

Designed by Tistory.