HTTP(HyperText Transfer Protocol)는 웹에서 클라이언트와 서버가 리소스를 주고받기 위해 사용하는 요청-응답 기반의 애플리케이션 계층 프로토콜입니다.
클라이언트가 메서드·경로·헤더로 구성된 요청을 보내면 서버가 상태 코드·헤더·본문으로 응답하며, 각 요청은 원칙적으로 서로의 상태를 기억하지 않는 무상태(stateless) 방식으로 처리됩니다.
HTTP는 사람이 읽을 수 있는 텍스트 기반으로 출발했습니다. HTTP/1.1은 한 TCP 연결에서 요청을 순차 처리(직렬)하며 헤더가 매 요청마다 반복되는 비효율이 있었고, HTTP/2는 하나의 연결에서 여러 스트림을 동시에 처리하는 멀티플렉싱과 헤더 압축(HPACK)을 도입했습니다. HTTP/3는 TCP 대신 QUIC(UDP 기반) 위에서 동작해 TCP 계층의 Head-of-Line 블로킹을 제거했습니다.
HTTP 자체는 상태를 저장하지 않기 때문에 로그인 같은 세션 유지는 쿠키·토큰 같은 별도 메커니즘으로 구현합니다. 또한 평문 HTTP는 도청·변조에 취약하므로 오늘날 실제 트래픽은 대부분 TLS로 암호화한 HTTPS로 전송됩니다.