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 |
---|