What is?
클라이언트가 요청을 보내고 서버가 응답 하는 모델
- 클라이언트가 Request을 보냄
- 서버가 Request을 parse
- 서버가 Request을 진행
- 서버가 Response을 보냄
- 클라이언트가 Response을 parse하여 사용!
When it is used?
클라이언트와 서버가 상호 작용하여 정보를 교환할 때, 사용!
- Web / HTTP / DNS / SSH
- RPC(remote procedure call)
- SQL and Database Protocols
- APIs(REST/SOAP/GraphQL)
Request? Response?
- Request의 구조는 서버와 클라이언트 모두에 의해 정의됨
- Request는 경계가 있음
- 프로토콜 및 메세지 형식으로 정의됨!

사용할 수 없는 곳
- Notification service
- Chatting application
- Very Long requests
- What if client disconnects?
Pros / Cons
Pros
Cons
- 수신자가 많으면 적합하지 않음
- 높은 연결성
- 클라이언트와 서버 모두 동시에 실행중이여야함
- Chaining, circuit breaking