HTTP 1 vs HTTP 2

이하연·2021년 9월 7일
0

[Network] 네트워크

목록 보기
5/9

HTTP/1.1

  • 웹 상에서 클라이언트와 웹서버간 통신을 위한 프로토콜
  • 현재까지 가장 많이 사용되고 있음
  • 기본적으로 연결당 하나의 요청과 응답을 처리하기에 동시 전송 문제다수의 리소스를 처리하기에 속도와 성능이 느림

HTTP/1.1 문제점

  1. HOL Blocking
    • Head Of Line Blocking 특정 응답의 지연
    • 네트워크에서 같은 큐에 있는 패킷이 첫번째 패킷에 의해 지연될 때 발생하는 성능 저하 현상을 말한다.
  2. RTT 증가
    • Round Trip Time 증가
    • 일반적으로 Connection 하나에 요청 한 개를 처리한다.
    • 매번 요청 별로 Connection을 만들게 되고 TCP 상에서 동작하는 HTTP의 특성상 3-way handshake가 반복적으로 일어나게 됨
    • 불필요한 RTT 증가, 네트워크 지연 초래 → 성능 지연
  3. 무거운 Header 구조
    • HTTP/1.1 헤더에는 많은 메타 정보들이 저장되어 있다.
    • 클라이언트가 서버로 보내는 HTTP 요청은 매 요청 때마다 중복된 헤더 값을 전송하게 되며 서버 도메인에 관련된 쿠키 정보도 헤더에 함께 포함되어 전송된다.
    • 이러한 반복적인 헤더 전송, 쿠키 정보로 인한 헤더 크기 증가가 HTTP/1.1의 단점이다.

HTTP/2.0

  • HTTP/1.1에서 프로토콜의 성능에 초점을 맞추어 수정한 버전

  • 성능 뿐만 아니라 속도면에서도 월등하게 빠르다

  • HTTP/2.0 주요 특징

    1. Stream Prioritization

      요청 리소스간 의존관계 설정에 따라 우선순위 설정해 리소스 로드 문제 해결

    2. Server Push

      서버는 HTML 문서상에 필요한 리소스를 클라이언트 요청없이 보낼 수 있음

    3. Header Compression

      Header 정보를 HPACK 압축 방식을 이용하여 압축 전송

0개의 댓글