Keepalive


title: 2025-10-31 author: 강병호 (이름) date: 2025-10-31(날짜) category: TIL/강병호/2025/10 layout: post (자유) —

HTTP Keep-Alive vs TCP Keep-Alive

1️HTTP Keep-Alive

  • 계층: 애플리케이션 계층 (HTTP 프로토콜)
  • 동작:
    • 한 번 맺은 TCP 연결을 끊지 않고, 여러 개의 HTTP 요청/응답을 같은 연결에서 처리
    • Connection: keep-alive 헤더 사용
  • 목적:
    • TCP 연결 생성/해제 비용 감소
    • 웹 페이지 로딩 속도 향상 (HTML, CSS, JS, 이미지 등 여러 리소스를 한 연결로 받음)
  • 언제 쓰나:
    • 웹 브라우저 ↔ 웹 서버 같은 단기적이지만 여러 요청이 몰려 있는 상황

TCP Keep-Alive

  • 계층: 전송 계층 (TCP 자체 기능, OS 커널에서 동작)
  • 동작:
    • 데이터가 오랫동안 오가지 않아도, 커널이 주기적으로 프로브 패킷을 보내 연결이 살아 있는지 확인
    • 상대방이 응답 없으면 “죽은 연결”로 간주하고 연결 종료
  • 목적:
    • 죽은 연결 감지 (상대가 다운됐는지 확인)
    • NAT/방화벽에서 유휴 연결 강제 종료 방지
  • 언제 쓰나:
    • SSH, DB Connection Pool, WebSocket, IoT 같은 장시간 유휴 연결을 유지해야 하는 상황

results matching ""

    No results matching ""