컴퓨터 과학/네트워크

HTTP의 네 가지 특성

Data Jun 2025. 10. 5. 09:35

HTTP는 웹에서 데이터를 주고받는 핵심 프로토콜로, 단순히 요청과 응답만 처리하는 것이 아니라
다양한 구조적 특성과 설계 원칙을 가지고 있습니다. 이번 글에서는 HTTP의 네 가지 주요 특성을 하나씩 살펴보겠습니다.

 

1. 요청–응답 기반 프로토콜

HTTP는 클라이언트-서버 구조로 동작하며, 클라이언트가 요청(request)을 보내면 서버는 그에 대한 응답(response)을 반환하는 방식입니다.
브라우저 개발자 도구의 Network 탭에서 확인할 수 있듯,
요청과 응답은 각각 고유한 메시지 형식을 가지며, 이 교환 과정을 통해 웹 페이지가 표시됩니다.

즉, 클라이언트가 먼저 행동하고 서버가 이에 응답하는 단방향 요청-응답 모델이 HTTP의 기본 동작 방식입니다.

 

2. 미디어 독립적 프로토콜

HTTP는 전달하는 데이터의 종류에 제한이 없는 프로토콜입니다.
HTML 문서, 이미지, 동영상, 텍스트 파일 등 다양한 리소스를 동일한 방식으로 전송할 수 있습니다.

 

이때 데이터의 종류는 **MIME 타입(Media Type)**으로 구분됩니다.
예를 들어 text/html, image/png, video/mp4처럼 타입/서브타입 형태로 표현하죠.

  • text/plain → 일반 텍스트
  • image/jpeg → JPEG 이미지
  • video/mp4 → MP4 비디오

이처럼 HTTP는 특정 형식에 종속되지 않고, 미디어 독립적으로 작동하는 범용적인 데이터 전송 프로토콜입니다.

 

3. 상태를 유지하지 않는 프로토콜 (Stateless Protocol)

HTTP는 서버가 이전 요청의 상태를 기억하지 않는 구조입니다.
즉, 클라이언트가 매번 요청을 보낼 때마다 서버는 그것이 새로운 요청인 것처럼 처리합니다.

이러한 설계 덕분에 서버는 수많은 클라이언트의 상태를 따로 저장할 필요가 없어 효율적으로 동작할 수 있습니다.
하지만 동시에 로그인 상태 유지나 장바구니 같은 기능을 위해서는 쿠키(Cookie), 세션(Session), 토큰(Token) 같은 별도 기술이 필요합니다.

 

4. 지속 연결 프로토콜 (Persistent Connection)

초기의 HTTP 1.0은 비지속 연결(Non-persistent) 방식으로,
하나의 요청-응답이 끝날 때마다 TCP 연결을 종료했습니다.
이로 인해 매번 연결을 새로 맺어야 했고, 성능상 비효율이 컸습니다.

이후 HTTP 1.1에서는 지속 연결(Persistent Connection),
또는 Keep-Alive 기능이 도입되어 하나의 TCP 연결 위에서 여러 요청과 응답을 주고받을 수 있게 되었습니다.

즉, 연결을 한 번 맺은 뒤 여러 데이터를 연속적으로 주고받을 수 있어 지연시간이 줄고 전송 효율이 높아진 것이죠.

 

 

정리하면

구분 설명
요청-응답 기반 클라이언트가 요청을 보내면 서버가 응답하는 구조
미디어 독립적 다양한 데이터 형식을 제약 없이 처리
상태 비유지 서버가 클라이언트의 상태를 기억하지 않음
지속 연결 지원 하나의 연결로 여러 요청과 응답 처리 가능

“웹이 효율적으로 작동하도록 설계된 철학과 구조”를 가진 프로토콜입니다.
이 네 가지 특성을 이해하면, 웹 애플리케이션의 통신 구조를 훨씬 깊이 있게 바라볼 수 있습니다.