HTTP 메시지 구조
start-line
- 요청 메시지
- HTTP 메서드(GET 등) : 서버가 수행해야 할 동작 지정
- 요청 대상 : 절대경로="/"로 시작하는 경로
- HTTP version
method SP(공백) request-target SP HTTP-version ex : GET /search?q=hello&ko HTTP/1.1
- 응답 메시지
- HTTP version
- status-code : 200(성공), 400(클라이언트 요청오류), 500(서버 내부 오류) 등
- reason-phrase : 사람이 이해할 수 있는 짧은 상태 코드 설명 글
HTTP-version SP status-code SP reason-phrase CRLF ex : HTTP/1.1 200 OK
header
field-name: OWS field-value OWS (OWS : 띄어쓰기 허용)
ex : Host: www.google.com
- field-name은 대소문자 구분 X
- http 전송에 필요한 모든 부가정보 존재
- Ex
- Host: www.google.com - 요청
- Content-Type: text/html - 응답
- charset=UTF-8 - 응답
- Content-Length: 3423 - 응답
message body
- 실제 전송할 데이터
- HTML 문서, 이미지 등 byte로 표현할 수 있는 모든 데이터 전송 가능
(REF.인프런)