HTTP는 클라이언트와 서버의 통신뿐만 아니라, 서버와 서버간의 데이터 통신에도 사용된다.
동작 순서
큰 그림으로 보자면 이 정도일까
- 클라이언트 -> 요청 -> 서버
- 서버 -> 응답 -> 클라이언트
클라이언트는 서버로 요청을 보내고 서버는 요청에 대한 결과를 응답해준다.
HTTP 특징
무상태 (Stateless)
- 서버는 클라이언트의 상태를 보존하지 않는다.
- 장점
- Scale Out 수평 확장성이 높다.
- 갑자기 요청량이 증가하여도 서버를 증설하기 쉽다.
- 단점
- 클라이언트가 데이터를 추가적으로 전송해야 한다.
비연결 (Connectionless)
- HTTP는 연결을 유지하지 않는 모델이다.
- 장점
- 단점
- 요청이 추가적으로 오게되면 연결을 새로 해야한다.
- 웹 사이트의 정적 자원 모두를 다시 다운로드 한다.
- 현재는 HTTP 지속연결로 문제를 해결한다.
- 지속연결?
- 하나의 요청에 필요한 요청들이 모두 응답될 때 까지 연결을 유지
- 연결을 한번만 맺고 끊기 때문에 Connectionless 방식보다 연결 횟수가 적다.
CRUD Method
리소스 생성 (Create)
리소스 조회 (Rea)
리소스 수정 (Update)
리소스 삭제 (Delete)