HTTP 메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식을 말한다. ASCII로 인코딩된 텍스트 정보이며 여러 줄로 되어 있다.
요청(request)과 응답(response) 두 가지 타입이 존재하며, 각각 특정한 포맷을 가지고 있다.
Request 메세지 구조 | Response 메세지 구조 |
---|---|
HTTP버전과 HTTP 요청 메서드 혹은 요청에 대한 응답 상태코드가 기록된다.
시작 줄 다음으로 요청에 대한 설명 혹은 응답 메시지 본문에 대한 설명이 기록된다.
요청에 대한 모든 메타 정보가 전송되었음을 알리는 빈 줄이 삽입된다. (헤드와 본문 사이 구분용도)
요청과 관련된 데이터(HTML form 콘텐츠 등) 혹은 응답과 관련된 문서(document)가 선택적으로 들어간다. 본문의 존재와 크기는 시작 줄 및 HTTP 헤더에 명시된다.
HTTP 메시지의 시작 줄과 HTTP 헤더를 묶어서 요청 헤드(head) 라고 부르며, 이와 반대로 HTTP 메시지의 페이로드는 본문(body) 이라고 한다.