HyperText Transfer Protocol의 줄임말로, HTML과 같은 문서를 전송하기 위한 프로토콜이다.
웹 브라우저와 웹 서버의 소통을 위해 디자인 되었으며, 클라이언트가 HTTP Messages 양식에 맞춰 요청을 보내면, 서버도 HTTP Messages 양식에 맞춰 응답한다.
클라이언트와 서버 사이에서 데이터가 교환되는 방식이며, 다음과 같은 두 가지 유형이 있다.
start line
: 요청이나 응답의 상태를 나타낸다. 첫 번째 줄에 위치하며, 응답에서는 status line 이라고 부른다.HTTP headers
: 요청을 지정하거나, 메세지에 포함된 본문을 설명하는 헤더의 집합이다.empty line
: 헤더와 본문을 구분하는 빈 줄.body
: 요청과 관련된 데이터나 응답과 관련된 데이터 또는 문서를 포함한다.Stateless는 말 그대로 상태를 가지지 않는다는 뜻이다.
HTTP로 클라이언트와 서버가 통신을 주고받는 과정에서, HTTP가 클라이언트나 서버의 상태를 확인하지 않는다.
HTTP는 통신 규약일 뿐, 상태를 저장하지 않는다.
따라서, 필요에 따라 다른 방법(쿠키-세션, API 등)을 통해 상태를 확인할 수 있다.
Stateless(무상태성)가 HTTP의 큰 특징 중 하나이다.