본문으로 바로가기

HTTP/2.0

category 나의 주니어 개발 일기/HTTP 가이드 2023. 9. 1. 13:49
728x90
반응형
SMALL

HTTP/2.0

등장배경

  • 하나의 커넥션, 하나의 요청, 하나의 응답
  • 그 응답을 받을때까지 기다렸다가 다시 커넥션 -> 회전 지연 증가 ->성능은 별로..

때문에 2009년 구글의 SPDY 등장

  • HTTP 속도 개선을 위해 헤더 압축(이름과 값을 바이너리로 인코딩) -> 대역폭 절약
  • 하나의 TCP 커넥션에서 여러 요청 동시 가능 -> 회전 지연 감소
  • 클라이언트의 요청 없이 서버의 능동적 리소스 푸쉬 가능
  • SPDY를 기반으로 HTTP/2.0 설계됨

스트림/멀티플렉싱

  • HTTP/2.0 응답,요청한개의 프레임에 담겨 스트림을 통해 보내진다.
  • 하나의 커넥션여러개의 스트림이 만들어질수 있다.
  • HTTP/2.0스트림에 대한 흐름제어우선순위 부여가 가능하다.
  • HTTP/1.1의 요청과 응답 메시지의 의미를 같게 유지한다.
  • 모든 스트림은 31비트의 무부호 식별자를 갖는다
  • 클라이언트에 의해 초기화 되었을시 이 식별자는 홀수, 서버라면 짝수, 새로 만들어지는 스트림의 식별자는 이전의 만들어졌거나 예약된 스트림의 식별자 보다 커야한다.
    • 커넥션을 오래 사용한 경우 스트림의 할당할 수 있는 식별자가 고갈될수 있다. 그럴때는 다시 커넥션을 맺는다.

단점/보안이슈

  • HTTP/2.0 -> HTTP/1.0으로 변환하는 과정에서 메시지의 이미가 변질될 수 있음
  • 긴 커넥션으로 인한 개인정보 누출 가능성
728x90
반응형
LIST

'나의 주니어 개발 일기 > HTTP 가이드' 카테고리의 다른 글

게이트웨이/터널/릴레이  (0) 2023.09.01