HTTP는 RFC2616에서 규정된 Web에서 데이터를 주고 받는 프로토콜로, Hyper Text Transfer Protocol의 줄임말이다. 이름에는 하이퍼텍스트 전송용 프로토콜로 정의되어 있지만, 실제로는 HTML, XML, JSON, Image, Voice, Video, Javascript 등 컴퓨터에서 다룰 수 있는 것은 모두 전송할 수 있다.
TCP를 기반으로 한 REST의 특징을 모두 구현하고 있는 것이 특징이다.
쉽게 말해서 클라이언트와 서버가 메시지를 주고 받을 때의 방식을 HTTP라 할 수 있다. 클라이언트는 서버에 Request(요청) 을 하고, 서버는 클라이언트에 Response(응답) 을 하는데 이때 HTTP에 따라 응답과 요청을 주고 받는다.

클라이언트는 요청할 때, 위 사진의 포맷에 맞게 Request header를 서버에 보낸다.
첫 번째 줄에 보면, Request Line이 있는데, GET 이 보인다.
HTTP의 요청을 특정하는 Method는 총 8가지가 있는데, GET은 그 중에 하나이다.

이렇게 위와 같이 Method를 앞에 명시함으로써 어떤 요청인지 서버에게 보여준다.

서버는 클라이언트 Request Line 처럼, 응답의 상태를 나타내는 Line이 있다. 아래 나오는 코드는 Statuse code에 들어갈 코드의 종류다.