HTTP 메세지
http 메세지 구조
메세지는 시작라인, 헤더, 공백라인, 본문의 구조로 구성된다.
시작라인 (start-line)
요청메세지
request-line = method SP(공백) request-target SP HTTP-version CRLF(엔터)
- HTTP 메서드
- GET : 리소스 조회 (데이터 달라고 요청)
- POST : 요청 내역 처리 (데이터 받아오기)
- PUT :
- DELETE : 삭제 요청 (지워주세요)
- 요청 대상 (/search?q=hello%hl=ko)
- absolute-path?query
- 절대경로 = “/”로 시작하는 경로
- HTTP 버전
응답메세지
status-line = method HTTP-version SP status-code SP reason-phrase CRLF
- HTTP 버전
- HTTP 상태 코드 : 요청 성공, 실패를 나타냄
- 2xx : 성공
- 4xx : 클라이언트 요청 오류
- 5xx : 서버 내부 오류
- 이유 문구 : 사람이 이해할 수 있는 짧은 상태 코드 설명 글
헤더 (Header)
harder-field = field-name “:” OWS field-value OWS (OWS:띄어쓰기 허용, 띄어도 되고 안 띄어도 되고)
- http 전송에 필요한 모든 부가 정보 ex) 메세지 바디의 내용, 메세지 바디의 크기, 압축, 인증, 요청 클라이언트 정보 등등 모든 필요한 metadata가 있음.
- 사용자 정의 헤더 추가 가능
messege body (본문)
- 실제 전송할 데이터
- HTML 문서, 이미지, 영상, JSON 등등 byte로 표현할 수 있는 모든 데이터 전송 가능
출처
https://www.inflearn.com/course/http-웹-네트워크
https://developer.mozilla.org/ko/docs/Web/HTTP/Status