HTTP 메시지는 두 가지로 이루어진다.
Request와 Response가 그것이다.
- 클라이언트가 Server로 put message를 보내고 있다.
- header와 body에 여러 정보가 있는 것을 볼 수 있다.
HTTP Request
시작 줄
시작 줄은 3가지로 이루어져 있다.
- HTTP 메서드로 get,put,post 같은 동사나 head, options 같은 명사를 사용해 서버가 수행해야 할 동작을 나타낸다.
- 두 번째로 요청 타겟이 있는데, 주로 URL이나 프로토콜, 포트, 도메인의 절대 경로 등으로 나타나는데, 메소드에 따라 포맷이 달라진다. 참고
헤더는
1. General 헤더
http 메세지 전체에 적용되는 부분이다.
- Request 헤더
요청의 내용을 구체화 시키거나, 조건에 따른 제약사항 등을 기입.
- Entity 헤더
body에 적용되는 부분이다. body가 없으면 이 부분도 존재하지 않는다.
로 나눌 수 있다.
body
서버에 데이터를 전송하는 경우에 body 부분이 생긴다.
넓게 보면 본문은 두 가지 종류로 나눌 수 있다.
- 단일-리소스 본문 : 헤더 두 개(Content-type과 Content-Length)로 정의된 단일 파일
- 다중-리소스 본문 : 여러개의 파트로 구성된다. 보통 HTML From으로 전송을 할 때 다중-리소스 본문으로 생성되는 것으로 보인다.
HTTP 응답
Status line
- 프로토콜 버전 : HTTP/1.1
- 상태코드 : 200, 404, 302 등
- 상태 텍스트 :
Not Found.
와 같은 상태 코드에 대한 간략한 설명
요청의 헤더와 동일한 구조를 따른다.
- General 헤더
http 메세지 전체에 적용되는 부분이다.
- Request 헤더
상태줄에 들어가지 못한 서버에 대한 추가 정보를 제공한다.
- Entity 헤더
body에 적용되는 부분이다. body가 없으면 이 부분도 존재하지 않는다.
Body
이 부분은 잘 알지 못하므로 MDN 문서로 우선 대체.
MDN 문서