쉬운 설명
웹 브라우저가 사이트를 열 때, 그 안에서 일어나는 일을 한 줄로 요약하면 'HTTP 요청을 보내고 HTTP 응답을 받는다'입니다. 페이지 한 장을 그리려면 보통 수십 개의 HTTP 요청이 오갑니다 — HTML 한 번, CSS·JS·이미지·폰트·동영상·광고·분석 스크립트까지 각각이 한 번씩.
구조는 단순합니다. 요청에는 메서드(GET·POST·PUT·DELETE 등), 경로(/posts/42), 헤더(Accept·Authorization·User-Agent), 그리고 선택적인 본문(JSON 같은 데이터)이 들어갑니다. 응답에는 상태 코드(200 OK·404 Not Found·500 Server Error 등), 헤더, 본문이 들어갑니다. 이 형식이 1990년대 이후 거의 그대로 살아남았습니다.
버전이 진화해 왔습니다. HTTP/1.1(1997~)은 오래 표준이었고, HTTP/2(2015~)는 한 연결에서 여러 요청을 동시에 처리해 속도를 크게 끌어올렸고, HTTP/3(2022~)는 QUIC라는 새 전송 위에서 동작해 모바일·끊김에 더 강해졌습니다. 어느 버전이든 같은 메서드·상태 코드의 사고방식은 그대로 유지됩니다.
HTTP는 '상태 비저장(stateless)' 프로토콜입니다. 각 요청은 독립적이고, 서버는 '이 사용자가 이전에 무엇을 했는지'를 기본적으로 모릅니다. 그래서 쿠키·세션·JWT 같은 추가 메커니즘으로 사용자를 식별합니다. 이 단순함 덕분에 인터넷 전체가 확장 가능해졌다는 평가가 일반적입니다.
HTTPS는 HTTP에 TLS 암호화를 더한 것입니다. 사용자 입력이 인터넷을 떠다닐 때 도청·변조를 막아 줍니다. 오늘날 사실상 모든 트래픽이 HTTPS이고, 새 사이트는 처음부터 HTTPS만 켜 두는 것이 표준입니다.

비유로 보면
HTTP는 우편 시스템의 봉투 형식과 비슷합니다. '받는 사람·보내는 사람·내용·수령 영수증' 같은 표준이 정해져 있어, 다른 도시·다른 나라 사이에서도 같은 방식으로 우편이 오갑니다. 봉투 안의 내용이 무엇이든, 봉투 형식이 표준이기에 모든 우체국이 같은 방식으로 다룰 수 있습니다.
어디에서 만나나
모든 웹 페이지 로딩, 모든 API 호출, 모바일 앱과 백엔드 통신, IoT 기기의 클라우드 통신, 외부 서비스 연동(결제·지도·번역·LLM API). 사실상 인터넷에서 일어나는 거의 모든 통신이 HTTP 위에서 동작합니다.
작은 예시
ChatGPT 앱에 질문을 입력하면, 그 한 번의 동작 뒤에는 'POST /chat/completions, 본문에는 사용자 메시지가 JSON으로'라는 HTTP 요청이 OpenAI 서버로 갑니다. 서버는 모델로 답을 만들어 '200 OK' 응답에 결과 JSON을 담아 돌려주고, 앱이 그것을 화면에 표시합니다.
자주 하는 오해
한 줄 정리
HTTP의 단순함이 인터넷의 확장을 만들었습니다. 요청과 응답 한 쌍이라는 기본 모델 위에서 모든 현대 웹 응용이 자라고 있습니다.
