http1? http2?
2020-04-06
http/1.1 의 단점
하나의 connection 당 하나의 요청을 처리하도록 설계되어 있다.
HOL(Head Of Line) Blocking 특정 응답의 지연
한 문서에 여러 자원이 필요하다고하면, 특정 자원의 대기 시간이 길어 짐에 따라 다른 자원들이 기다리는 현상이 발생한다.
RTT( Round Trip Time ) 증가
매요청 마다 connection 을 만든다.
무거운 HEADER
다양한 헤더 및 쿠키등을 들고다닌다.
http/1.1 의 단점 을 극복하기위한 노-력
Image Spriting, 이미지 스프라이팅
요청 수를 줄이기 위해 큰 이미지하나에 작은이미지를 다 때려넣고 잘라서 사용한다..
Domain Sharding, 도메인 샤딩
브라우져에서 다수의 connection 을 생성해 병렬로 요청한다. 하지만 도메인 별로 connection 수가 제한되어 있다고 한다.
Minify CSS/Javascript
css/javascript 를 압축한다.
Data URI Scheme
이미지를 base64인코딩으로 html 에 박아서 보낸다.
Load Faster
css 를 html 문서의 위에 배치, script 를 아래에 배치..
http/2 ?
구글의 SPDY 로부터 시작.
그저 갓
그럼 뭐가 달라졌나?
Multiplexed Streams
한 커넥션으로 동시에 여러개의 메세지를 주고 받을 있으며, 응답은 순서에 상관없이 stream으로 주고 받는다.
Stream Prioritization
동시에 여러 자원을 받다보니 일어날 수 있는 문제를, 자원간 의존관계를 설정하여 해결했다.
Server Push
클라이언트가 자원을 추가로 요청하기전에 미리 서버에서 push 할 수 있다.
Header Compression
Huffman Encoding
기법을 사용하여 중복된 헤더를 전부 보내지 않는다.
출처