본문 바로가기

cs(with 매일메일)

[251114금] HTTP 1.1과 HTTP 2.0에 대해서 설명해주세요

HTTP : 웹상에서 클라이언트와 서버 간 통신을 위한 프로토콜

 

HTTP 1.1

- 방식 : 한 개의 요청과 응답마다 TCP 커넥션을 생성하여 사용 , 일반 텍스트 형식

- 문제점 : 오버헤드 발생

- 해결1 : 지속 커넥션 적용(지정한 타임아웃만큼 커넥션을 종료하지 않는 방식으로 해결)

- 해결2 : 파이프라이닝 지원하여 요청의 응답 지연을 감소 (요청1, 응답1 기다리는게 아니라! 필요한 모든 자원에 대한 요청을 순차적으로 서버로 전송 > 모든 요청에 대한 응답을 한 번에 기다림) 

 

- 그럼에도 문제점 : Head-of-Line Blocking(HOL Blocking) : 파이프 라인 전송 시, 요청의 순서를 일괄적으로 처리하기에, 첫 번째 요청이 오래걸리면, 나머지는 다 대기함.

- 그럼에도 문제점 : 요청마다 동일한 헤더를 반복하여 전송

 

 

HTTP 2.0

> 방식 : 메시지를 프레임 단위로 분할, 바이너리 형태로 만들어서 전송 > 파싱 및 전송 속도 향상

> 장점 : 멀티플렉싱 지원(하나의 커넥션을 사용하여 요청과 응답을 병렬로 처리할 수 있음) 클라이언트가 서버로 여러 요청을 동시에 보내도 각 요청이 독립적으로 처리됨 > HOL Blocking 문제 해결

> HPACK 헤더 압축방식을 통해 헤더를 효율적으로 사용, 대역폭 사용을 최적화