HTTP/1.1과 HTTP/2.0에 대해서 설명해 주세요.

2025. 1. 16. 09:48·백엔드 면접

HTTP/1.0의 경우 매 요청과 응답마다 TCP 커넥션을 생성해서 사용했기 때문에 오버헤드가 발생했습니다. HTTP/1.1은 이러한 문제를 지속 커넥션이라는 지정한 타임아웃만큼 커넥션을 종료하지 않는 방식으로 해결합니다. 또한 특정 요청에 대한 응답이 수신되기 전에 다음 요청을 보낼 수 있는 파이프라이닝 기능으로 요청의 응답 지연을 감소합니다.

HTTP/1.1은 1.0 버전에 비해 많이 개선되었지만, Head Of Line Blocking 문제가 존재했습니다. 만약 3개의 요청을 파이프라인을 통해 전송했을 때, 서버는 모든 요청을 순서에 맞춰서 응답해야 합니다. 이때 첫 번째 요청에 대한 응답이 너무 오래 걸리면 나머지 요청은 첫 번째 요청의 처리를 기다려야 합니다. 또한 1.1 버전은 매 요청마다 동일한 헤더를 반복하여 전송한다는 문제점도 존재합니다.

 

HTTP/2.0부터는 텍스트 기반의 메시지를 송수신한 이전 버전과는 달리 HTTP 메시지를 프레임이라는 단위로 분할하고 이를 바이너리 형태로 만들어서 전송합니다. 그래서 기존 버전에 비해 파싱 및 전송 속도가 향상되었습니다.

그리고 HTTP/2.0부터는 멀티플렉싱을 지원합니다. 이는 하나의 커넥션을 사용하여 요청과 응답을 병렬로 처리할 수 있는 방식입니다. 클라이언트가 서버로 여러 요청을 동시에 보내도 각 요청이 독립적으로 처리되기 때문에 Head Of Line Blocking 문제를 해결합니다. 또한 클라이언트가 요청하지 않았더라도 미래에 필요할 것으로 예상되는 자원을 미리 전송해 주는 서버 푸시 기능을 제공하며, HPACK 헤더 압축 방식을 사용해 반복되는 헤더를 효율적으로 관리하여 대역폭 사용이 최적화되었습니다.

'백엔드 면접' 카테고리의 다른 글

응집도와 결합도에 대해서 설명해 주세요.  (0) 2025.01.23
관계형 DB와 비 관계형 DB의 차이점은 무엇인가요?  (0) 2025.01.17
프로세스보다 스레드의 컨텍스트 스위칭이 더 빠른 이유는 무엇인가요?  (0) 2025.01.15
스케일 아웃과 스케일 업의 차이점을 설명해 주세요.  (0) 2025.01.14
ACID에 대해서 설명해 주세요.  (0) 2025.01.13
'백엔드 면접' 카테고리의 다른 글
  • 응집도와 결합도에 대해서 설명해 주세요.
  • 관계형 DB와 비 관계형 DB의 차이점은 무엇인가요?
  • 프로세스보다 스레드의 컨텍스트 스위칭이 더 빠른 이유는 무엇인가요?
  • 스케일 아웃과 스케일 업의 차이점을 설명해 주세요.
이런개발
이런개발
geun-00의 흔적 보관소
  • 이런개발
    내일이 기대되는 오늘
    이런개발
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 백엔드 면접
      • SQL N
        • SUM, MAX, MIN
        • SELECT
        • GROUP BY
        • JOIN
      • Spring
      • JPA
      • 트러블슈팅
      • Infra
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    자바
    토스 페이먼츠
    스프링
    백엔드 면접
    데브코스
    JPA
    raid
    오블완
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
이런개발
HTTP/1.1과 HTTP/2.0에 대해서 설명해 주세요.
상단으로

티스토리툴바