http protocol은 클라이언트와 서버 간에 데에터 교환을 하기 위한 표준 프로토콜이다. request와 response는 http protocol의 핵심 요소이며 각각의 메세지는 다음과 같은 구조로 이루어진다.
클라이언트가 서버로 요정하는 메시지이며 다음과 같은 구조이다.
GET /index.html HTTP/1.1
요청에 대한 추가 정보를 다룬다.
- Content-Length
- Content-Type
- Set-Cookie
- Location
위와 같은 요소들이 포함될 수 있으며, 이를 통해 요청과 응답의 성격, 데이터 형식,인코딩 방식등을 특정할 수 있다.Host: www.example.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Content-Type: application/json
헤더와 본문 사이에 빈줄이 필수적이다.
POST 요청과 같이 본문(body)에 데이터가 포함될 수 있다.
{
"username": "johndoe",
"password": "secretpassword"
}
GET요청의 경우 일반적으로 본문이 비어있음을 나타내는 빈 줄만 있다.
HTTP 프로토콜의 request와 response 메시지는
1. HTTP메소드(GET,POST등), url, HTTP 버젼으로 이루어진 시작라인
2. 헤더필드(client <-> server 간 통신에 대한 메타데이터를 전달)
3. 빈줄
4. 메시지 바디
로 이루어져 있다.
이러한 구성형식은 client와 server간의 데이터 교환, 웹페이지의 내용 표시, 동적데이터의 처리를 원할하게 한다.