HyperText Transfer Protocol
HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전
RFC2068(1997) -> RFC2616(1999) -> RFC7230~7235(2014)
-> 1.1에 대해 공부해라.
TCP: HTTP/1.1, HTTP/2
UDP: HTTP/3
현재 HTTP/1.1 주로 사용
23
| HTTP 메세지 구조 |
|---|
| start-line 시작 라인 |
| header 헤더 |
| empty line (CRLF) |
| message body |
start-line = request-line / status-line
request-line = method SP(공백) request-target SP HTTP-version CRLF(엔터)
종류 : GET, POST, PUT, DELETE...
서버가 수행해야 할 동작 지정
GET: 리소스 조회
POST: 요청 내역 처리
absolute-path
절대경로 = "/"로 시작하는 경로
HTTP version 넣는다.
status-line = HTTP-version SP status-code SP reason-phrase CRLF
HTTP 상태코드: 요청 성공 실패를 나타냄
200: 성공
400: 클라이언트 요청 오류
500: 서버 내부 오류
reason-phrase: 사람이 읽을 수 있게 만들어놓음
header-field = field-name ":" OWS field-value OWS (OWS: 띄어쓰기 허용)
용도 http 전송에 필요한 모든 부가정보
ex) 메세지 바디의 내용 크기, 압축, 인증, 요청 클라이언트 정보, 서버 애플리케이션 정보, 캐시 관리 정보...
실제 전송할 데이터
출처 : 모든 개발자를 위한 HTTP 웹 기본 지식