[HTTP] HTTP 메시지
HTTP 메시지
HTTP 요청 메시지 예시
GET /search?q=hello&hl=ko HTTP/1.1
Host: www.google.com
HTTP 응답 메시지 예시
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 3423
<html>
<body>...</body>
</html>
HTTP 메시지 구조
시작 라인(요청 메시지)
GET /search?q=hello&hl=ko HTTP/1.1
~~~~...
-
method SP(공백) request-target SP HTTP-version CRLF(엔터)
- HTTP 메서드 (GET: 조회)
- 요청 대상 (/search?q=hello&hl=ko) -> q(query)는 key=value 형식
- HTTP Version
요청 대상
- absolute-path[?query] (절대경로[?쿼리])
- 절대경로= “/”로 시작하는 경로
시작 라인(응답 메시지)
HTTP/1.1 200 OK
~~~...
-
HTTP-version SP status-code SP reason-phrase CRLF
- HTTP 버전
- HTTP 상태 코드: 요청 성공, 실패를 나타냄
- 이유 문구 : 사람이 이해할 수 있는 짧은 상태 코드 설명 글
HTTP 헤더
- field-name “:” OWS field-value OWS (OWS:띄어쓰기 허용)
- field-name은 대소문자 구분 없음
용도
- HTTP 전송에 필요한 모든 부가정보
- ex) 메시지 바디의 크기, 압축, 인증, 요청 클라이언트 등등..
- 필요시 임의의 헤더 추가 가능
- helloworld: hihi
HTTP 바디
- 실제 전송할 데이터
- HTML 문서, 이미지, 영상, JSON 등등 byte로 표현할 수 있는 모든 데이터 전송
[참고] 헤더와 바디 사이의 공백부분(CRLF)은 필수사항이다!
<출처 : 인프런 - 모든 개발자를 위한 HTTP 웹 기본 지식(김영한)>
댓글남기기