해당 글은 인프런 김영한님의 영상을 보고 정리한 글입니다. 출처
Reqeust,Response 구조
서버 -> 클라이언트에 요청,응답 대기
클라이언트 ->서버 요청에 응답
서버가 클라이언트의 상태를 보존X
응답 서버를 쉽게 바꿀 수 있다 ->무한한 서버 증설 가능
장:서버 확장성 높음
단:클라이언트가 추가 데이터 전송
한계: 모든 것을 무상태로 설계할 수 없는 경우 존재
ex) 로그인과 같이 상태를 서버에 유지해야 하는 경우(브라우저 쿠키, 서버 세션 사용해서 상태 유지)
stateful : 서버가 여러 클라이언트와 연결 계속 유지 -> 서버 자원 소모

stateless : 서버가 클라이언트와 연결 유지 x -> 최소한의 자원 유지(요청 주고 받을 때만 연결하기 때문)

연결 유지 x 모델
초 이하 빠른 속도로 응답
서버 자원 효율적으로 사용 가능

HTTP메시지 start line :
http 요청 메시지에서는 request-line
http 응답 메시지에서는 status-line
SP = 공백
CRLF = 엔터

request-line = method SP request-target SP HTTP-version CRLF
status-line = HTTP-version SP status-code SP reason-phrase CRLF

header-field = field-name ":" OWS field-value OWS
field-name -> 대소문자 구분X
OWS : 띄어쓰기 허용

실제 전송할 데이터