HTTP 사용
1997년 : HTTP/1.1 → 현재 가장 많이 사용된 버전
TCP → HTTP/1.1 , HTTP/2
UDP → HTTP/3
HTTP 특징
- 무상태 프로토콜 (Stateless Protocol)
- 서버는 클라이언트의 상태를 보존하지 않음 → 과거요청 이력 모름
- 장점 : 확장성이 높다. 단점 : 클라이언트에 추가 데이터 전송 요구
Stateful
- 기존의 하던 작업을 기록하고 관리
- 서버 장애시, 기록 소멸

Stateless
- 기존 작업 기록 X, 관리 X
- 백업서버를 통해 대용가능
→ 서버 증설 편리

- Connectionless
- 서버자원을 효율적으로 활용할 수 있다.
- 요청과 응답이 끝나면 연결을 해제한다.
- 단점 : 매번 TCP 연결을 위한 오버헤드(처리시간) 발생
웹 브라우저로 사이트에 접근시 packet 단위로 connection 종료시 많은 오버해드 발생

Start Line : Request Message
→ method SP(공백) request-target SP(공백) HTTP-version CRLF(엔터)
- HTTP method
- 서버의 동작을 지정함
- GET : 리소스 조회 , POST : 요청 내역 처리, PUT : 리소스 대체,
PATCH : 리소스 부분 변경, DELETE : 리소스 삭제
Start Line : Response Message
→ HTTP-version SP(공백) status-code SP(공백) reason-pharse CRLF
- HTTP 상태 코드 : 요청 성공, 실패를 나타냄
- 200 : 성공 , 400 : 클라이언트 요청 오류 , 500 : 서버 내부 오류
HTTP 헤더 : Request/Response Message
- header-field = field-name “:” OWS field-value OWS
// OWS : 띄어쓰기 허용, field-name은 대소문자 구분 없음
- HTTP 전송에 필요한 부가정보를 담고 있음

HTTP Body