HyperText Transfer Protocol
웹 상에서 HTML과 같은 하이퍼미디어 문서를 전송하기 위한 규칙
HTTP는 클라이언트 - 프론트엔드 서버, 혹은 프론트엔드 서버 - 백엔드 서버 통신에 사용된다.
요청(Request) - 응답(Response) 구조이다.
클라이언트가 HTTP request를 서버에 보내면 서버는 그에 대한 HTTP response를 보내준다.
HTTP는 stateless이다.
HTTP는 상태를 저장하지 않는다. 따라서 이전에 보낸 요청-응답에 대해서는 알 수가 없다. 필요한 경우에는 HTTP 쿠키를 사용하여 상태가 있는 세션을 만들 수 있다.
HTTP Request는 다음과 같은 요소들로 구성된다.
Start line
Method
클라이언트가 수행하고자 하는 동작을 정의한 GET, POST 같은 메서드
Path
가져오려는 리소스의 경로
HTTP 프로토콜 버전
HEADERS
서버에 추가 정보를 전달하는 헤더
BODY
request의 내용. POST 같이 리소스를 포함해야하는 경우 body가 있지만 GET request는 body가 없는 경우가 많다.
HTTP Response는 다음과 같은 요소로 구성된다.
Start line
Headers
요청 헤더와 비슷한 HTTP 헤더들. Response에 대한 추가 정보를 담고 있다.
Body
리소스가 포함되어 있는 본문.