구성파일, API, 기타 인터세이스에서 HTTP메세지를 자동으로 완성한다.
http messgaes 기본 구성
- start line(status line) : 요청이나 응답의 상태를 나타내며, 항상 첫줄에 위치
- http headers : 요청을 지정하거나, 메세지에 포함된 본문을 설명하는 헤더의 집합.
- empty line : 헤더와 본문을 구분하는 빈줄
- body: 요청과 관련된 데이터나, 응답과 관련된 데이터 또는 문서를 포함 . (선택적 사용)
** start_line & http headers 를 묶어head
라고 부르고,
payload를body
라고 부른다.
start line
1. 수행할작업을 나타냄(GET,POST 등)
2. 요청대상또는 절대경로는 요청란에 작성됨 (origin/absoulute/asteisk형식)
- origin 형식
`?`와 쿼리문자열이 붙는 절대경로 예시) POST/HTTP 1.1 GET/background.pn HTTP/1.0 HEAD/test.html?query=alibaba HTTP/1.1 OPTIONS/anypage.html HTTP/1.0
- HTTP버전은 메세지의 다른 구조를 결정한다. 이를 위해 HTTP 버전을 함께 입력.
Headers
- general headers: 메세지 전체에 적용
- request headers: 요청을 보다 구체화 한다.
- entity headers : 바디에 적용됨. 바디가 비어있는경우 전송되지 않는다.
BODY
- POST, PUT과 같은 일부 데이터를 업데이트 하기 위해 사용한다.
status line
1. 현재 프로토콜의 버전(HTTP/1.1)
2. 상태 코드 - 요청의 결과를 나타냄(200,302,404등)
3. 상태 텍스트 - 상태 코드에 대한 설명
예시)HTTP/1.1 404 Not Found.