HTTP/1.0, 1.1, 2, 3

yuri_pbong·2025년 4월 10일

✅ HTTP란

HTTP는 Hyper Text Transfer Protocol의 약자로 데이터를 주고 받기 위해 request와 response 두 개의 메시지로 동작하는 프로토콜이다.

✅ HTTP/1.0 vs HTTP/1.1

HTTP/1.0

  • 매 요청마다 TCP 연결을 새로 맺음 (3-way handshaking)
  • 연결 후 데이터를 주고받고 다시 닫음 (close)
  • 반복적인 연결로 인해 시간 소요가 큼
  • HTTP Method: POST, GET, HEAD만 지원

HTTP/1.1

  • Persistent connection 지원 (keep-alive)
  • 한 번 연결하면 여러 요청 처리 가능 (3-way gandshaking 반복 X)
  • HTTP Method 추가 (PUT 등)
  • HOL Blocking 문제

HOL Bloking(Head-of-Line Blocking)

HTTP/1.1에서 여러 리소스를 파이프라이닝(pipelining) 방식으로 요청할 때,
첫 번째 요청의 응답이 지연되면 이후 요청들의 응답도 지연됨
(한 연결에서 순차적으로만 응답 가능 → 병렬 처리 불가)

✅ HTTP/2

  • Google의 SPDY 프로토콜에서 발전된 표준
  • Multiplexing 지원
    - 하나의 TCP 연결로 여러 논리적 스트림(logical stream) 생성
    • 여러 요청을 동시에 병렬 처리 가능 → 성능 향상
  • gRPC, RPC 통신에서 주로 사용

✅ HTTP/3

  • UDP 기반의 QUIC 프로토콜 사용
  • TCP를 사용하지 않기 때문에 3-way handshaking 불필요
  • 유튜브 같은 실시간 스트리밍 서비스에서 사용됨

0개의 댓글