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·이미지에 추가 요청을 보낸다.
관련
이어서 볼 문서
RELATED TERMS
연관 용어
HyperText Markup Language
웹 콘텐츠의 의미와 구조를 정하는 마크업 언어다. 링크가 페이지를 잇고, 요소가 제목·문단·그림의 역할을 표시하며, 겉모습과 동작은 보통 CSS와 JavaScript가 맡는다.
frontend CSSCascading Style Sheets
HTML·XML 문서의 화면·인쇄 등 표현을 기술하는 스타일시트 언어. 선택자·선언 규칙으로 DOM에 스타일을 입히며, 지금은 단일 CSS3가 아니라 모듈별 레벨로 발전한다.
backend URLUniform Resource Locator
웹에서 리소스를 가리키는 보편 식별자다. WHATWG URL 표준이 문자열을 URL 레코드로 파싱하고, URI와 IRI라는 말은 쓰지 말라고 한다.