HTTP 0.9-3.0
HTTP 0.9-3.0
Last updated
HTTP 0.9-3.0
Last updated
GET 요청만 존재
Header X
Status Code X
HTML파일만 전송
Header
Status Code
new Method
Persistent connection
Pipelining
Chunk Transfer Encoding
Caching && Conditional Request
HTTP의 Head Of Line Blocking
헤더 중복
매번 연결을 열고 닫지 않음.
Close되기 전까지 Connection이 열려있음
여러 HTTP 요청과 응답에 TCP 연결을 한번만 수행
응답을 기다릴 필요가 없음
응답 속도가 빨라짐
응답을 작은 Chunk로 나눠서 보냄
초기웹 페이지 로딩이 빨라짐
필요없는 데이터 전송을 줄임
요청에서 문제가 발생하면, 그 뒤에 요청들은 기다리는 문제
Binary Framing Layer
Multiplexing
Stream Prioritization
Server Push
HPack Compression
TCP의 Head Of Line Blocking
HTTP/1.1에서 텍스트 기반의 요청 및 응답 방식을 이진(binary) 형식으로 변환하여 전송
프레임 독립성: 데이터를 프레임으로 쪼갬 (헤더 프레임, 데이터 프레임, ...)
빠른 전송, 병렬처리, 연결 오버헤드 감소, 헤더 크기 감소
단일 TCP 연결에서 스트림 채널을 열어, 여러 HTTP 요청/응답을 병렬로 전송
하나의 요청이 지연되도 다른 요청에 영향을 주지 않음
HTTP 1.1 TCP Head Of Line Blocking(FIFO 방식) 문제 해결
TCP의 Head Of Line Blocking 문제 발생
요청에 대한 우선순위 부여
서버측에서는 우선순위가 높은 요청 먼저 처리
요청이 없거나 하나의 요청에 대한 여러 응답 가능
Hpack을 사용하여 과거 요청 헤더를 기억하고 압축
QUIC
TCP 연결과정 생략
UDP 기반으로 순차적 처리X
TCP Head Of Line Blocking 해결. 손실된 패킷만 재전송