Http


title: 2025-09-30 author: 강병호 date: 2025-09-30 category: TIL/강병호/2025/09 layout: post —

HTTP 란?

HTTP(Hypertext Transfer Protocol)는 웹 브라우저와 웹 서버가 서로 정보를 주고받기 위해 사용하는 통신 규칙(프로토콜)

HTTP/1.1

  • 요청-응답 (한 번에 하나씩 처리)
  • 앞선 요청이 끝나야 다음 요청 처리 가능 (HOL 블로킹 발생)
  • 무거운 헤더를 매번 중복 전송
  • 텍스트 기반의 메시지
  • 클라이언트가 요청해야만 전송 가능

HTTP/2

  • 멀티플렉싱 (Multiplexing)
  • 하나의 연결로 동시에 여러 요청/응답 처리 (HOL 블로킹 해결)
  • 헤더 압축(HPACK)을 통해 중복을 제거하고 압축하여 전송
  • 바이너리(0과 1) 기반의 프레임
  • 클라이언트가 요청하기 전에 서버가 필요한 리소스를 미리 전송 가능 (서버푸시)

멀티플렉싱 (Multiplexing)

하나의 연결 통로(Connection)를 통해 동시에 여러 개의 메시지를 주고받는 방식입니다. 1차선 국도를 8차선 고속도로로 확장한 것처럼, 여러 요청이 동시에 처리되므로 HOL 블로킹 문제가 해결됩니다.

헤더 압축 (HPACK)

이전에 보냈던 헤더 정보 중 중복되는 내용은 제외하고 변경된 부분만 보내는 방식으로, 데이터 전송량을 획기적으로 줄였습니다.

서버 푸시 (Server Push)

웹 서버가 클라이언트(브라우저)의 요청 없이도 앞으로 필요할 것이라 예상되는 리소스(예: CSS, JS 파일)를 미리 보내주는 기능입니다. 브라우저가 HTML 문서를 분석하고 필요한 파일을 다시 요청하는 시간을 절약하여 로딩 속도를 높입니다

HTTP/1.1에서는 하나의 연결 통로에서 맨 앞의 요청에 대한 응답이 도착할 때까지 그 뒤의 요청들은 전부 대기

results matching ""

    No results matching ""