HTTP 메시지
HTTP 메시지 구조
공백은 필수
start-line
- 요청 혹은 응답의 자원(혹은 상태)이 작성되는 공간
- SP : 공백, CRLF : 엔터
request-line
Format: [method]SP[request-target]SP[HTTP-version]CRLF
Ex : GET /search?q=hello&hl=ko HTTP/1.1
- HTTP 메서드 (GET: 조회)
- 요청 대상 (/search?q=hello&hl=ko) => 절대경로 = "/" 로 시작하는 경로
- HTTP Version : HTTP/1.1
status-line
Format: [HTTP-version]SP[status-code]SP[reason-phrase]CRLF
Ex : HTTP/1.1 200 OK
- HTTP 버전
- HTTP 상태 코드: 요청 성공, 실패를 나타냄
- 200: 성공
- 400: 클라이언트 요청 오류
- 500: 서버 내부 오류
HTTP 헤더
- HTTP 전송에 필요한 모든 부가 정보를 담습니다.
- Ex: 메세지 바디의 내용 및 크기 정보, 압축, 인증, 요청(브라우저)정보 등
HTTP 메시지 바디
- 실제 전송할 데이터
- HTML 문서, 이미지, 영상, JSON 기타 byte로 표현가능한 모든 데이터
참고