HTTP 메시지
start-line 시작라인
header 헤더
empty line 공백 라인 (CRLF): 무조건 있어야함.
message body
요청 메시지
1) HTTP 메서드
종류: GET, POST, PUT, DELETE
서버가 수행해야 할 동작 지정
- GET: 리소스 조회
- POST: 요청 내역 처리
2) 요청 대상
absolute-path[?query]
절대 경로 = "/" 로 시작하는 경로
3) HTTP 버전
응답 메시지
status-line = HTTP-version SP status-code SP reason-phrase CRLF
HTTP상태 코드
(1) 200: 성공
(2) 400: 클라이언트 요청 오류
(3) 500: 서버 내부 오류
이유 문구: 사람이 이해할 수 있는 짧은 문구
HTTP 전송에 필요한 모든 부가정보를 포함
메시지 바디의 내용, 크기, 압축, 인증, 요청 클라이언트 정보, 서버 애플리케이션 정보, 캐시 관리 정보 등..
실제 전송할 데이터
HTML 문서, 이미지, 영상, JSON 등 byte로 표현할 수 있는 모든 데이터 전송 가능.
출처: 모든 개발자를 위한 HTTP 웹 개발 지식 by 김영한