HTTP/1.1 vs HTTP/2.0

이숭인·2021년 9월 2일
0

[Network] 네트워크

목록 보기
7/13

HTTP 1와 HTTP2 를 비교해보자!
HTTP 에 관한 게시글

HTTP/1.1

HTTP/1.1 은 웹상에서 클라이언트와 웹 서버간 통신을 위한 프로토콜 입니다.

HTTP/1.1 은 기본적으로 연결당 하나의 요청응답 을 처리하기 때문에 동시 전송 문제 와 다수의 리소스를 처리하기에 속도성능 이슈를 가지고 있습니다.




HTTP/1.1 이 느린 이유

1. HOL(Head Of Line) Blocking (특정 응답 지연)

  • HTTP/1.1의 사양상의 제한으로 클라이언트의 리퀘스트의 순서와 서버의 응답순서는 동기화해야 됨

2. RTT(Round Trip TIme) 증가 (양방향 지연)

  • 일반적으로 하나의 Connection 에 하나의 요청을 처리
  • 요청별로 Connection 을 만들고, TCP 상에서 동작하는 특성상 3 - way handshake반복적 으로 일어나 네트워크 지연 을 초래해 성능을 저하시킴

3. 헤더가 크다 (특히 쿠키 때문)

  • http/1.1의 헤더에는 많은 메타 정보들이 저장되어 있음.

  • 사용자가 방문한 웹페이지는 다수의 http 요청이 발생하게 되는데 이 경우 매 요청시 마다 중복된 헤더 값을 전송하게 되며 각 도메인에 설정된 쿠키 정보도 매 요청시 마다 헤더에 포함되어 전송




HTTP/2.0


HTTP/2.0 은 성능에 초점을 맞추어 HTTP/1.1 을 수정한 버전이다.
특히 지연시간 , 네트워크, 서버 리소스 사용량 등과 같은 성능 위주로 개선했다.

HTTP/2.0 은 아래와 같은 주요 특징 들이 존재한다.

1. Stream Prioritization

  • 리소스 간의 의존관계에 따른 우선순위 를 설정 해서 리소스 로드 문제를 해결한다.

2. Server Push

  • 서버는 클라이언트가 요청하지 않은 리소스를 사전에 푸쉬를 통해 전송할 수 있다.

3. Header Compression

  • 헤더 정보 압축방법!
profile
iOS Developer

0개의 댓글