V VibeCoding 365
사전 목록 backend

VIBECODING 365 / DICTIONARY

HTTP

Hypertext Transfer Protocol

DEFINITION

HTTP가 하는 일

HTTP(Hypertext Transfer Protocol)는 HTML 같은 하이퍼미디어 문서를 주고받기 위한 애플리케이션 계층 프로토콜이다. 원래 브라우저와 웹 서버 통신을 위해 설계됐지만, API·기계 간 통신 등에도 쓰인다. MDN Overview에 따르면 웹에서 데이터를 교환하는 기초이며, 클라이언트가 연결을 열어 요청을 보내고 서버 응답을 기다리는 고전적 클라이언트–서버 모델이다.

요청과 응답

클라이언트(대개 브라우저인 user-agent)가 메시지를 시작하면 요청(request), 서버의 답은 응답(response)이다. 요청에는 메서드(예: GET·POST), 리소스 경로, 프로토콜 버전, 선택적 헤더, 일부 메서드에서는 본문이 있다. 응답에는 버전, 상태 코드(성공·리다이렉트·클라이언트/서버 오류 등 다섯 부류), 상태 문구, 헤더, 선택적 본문이 있다. 페이지를 그리려면 브라우저는 HTML을 받은 뒤 CSS·스크립트·이미지 등 하위 리소스에 추가 HTTP 요청을 보낸다.

상태 없음과 확장성

HTTP 자체는 상태 없다(stateless). 같은 연결에서 이어진 두 요청도 프로토콜 핵심만으로는 서로 묶이지 않는다. 다만 헤더로 확장 가능해서, 쿠키로 세션 맥락을 붙이면 「세션 없는」 것은 아니라고 MDN은 정리한다(stateless, but not sessionless). 헤더는 HTTP/1.0부터 새 기능을 합의·실험하기 쉽게 만든다. 메시지는 (HTTP/2 이전) 사람이 읽기 쉬운 텍스트 구조이며, HTTP/2에서는 프레임에 담기지만 의미는 같다.

연결과 버전

전송은 보통 신뢰할 수 있는 TCP(또는 TLS로 암호화된 TCP) 위다. HTTP/1.0은 요청·응답마다 TCP를 여는 경향이 있었고, HTTP/1.1은 지속 연결 등으로 효율을 높였으며, HTTP/2는 한 연결에서 메시지를 멀티플렉싱한다. 바이브코딩에서 API 호출·폼 제출·페이지 로드를 디버깅할 때 보는 네트워크 탭의 메서드·상태 코드·헤더가 바로 이 HTTP 대화다.

ENGLISH

Hypertext Transfer Protocol

EXAMPLE

주소창에 사이트를 열면 브라우저가 GET / HTTP/1.1과 Host 헤더로 요청하고, 서버가 200 OK와 HTML 본문으로 응답한 뒤 CSS·이미지에 추가 요청을 보낸다.