클라이언트와 서버 간의 통신 방식은 현대의 네트워크 애플리케이션에서 매우 중요한 개념입니다. 기본적으로 클라이언트는 서비스를 요청하는 주체이고, 서버는 그 요청에 대해 응답하는 주체입니다. 통신 방식은 다양한 형태로 존재합니다.
0. 단방향 통신

- 단방향 통신 : 클라이언트가 전송을 하면 서버에서는 전송해온 정보를 처리하고 응답은 보내지 않는 방식
1. 반이중 통신 방식(stateless)

- 반이중 통신 : 클라이언트가 전송을 하고 서버에서는 응답을 보내고 연결을 끊는 방식이며 대표적으로 http1.1의 방식이다
- Stateless : 클라이언트-서버 관계에서 서버가 클라이언트의 상태를 보존하지 않음을 의미한다
- 클라이언트의 상태는 request 객체에서 잠깐 담아 사용하고 연결이 끝나면 사라진다
2. 소켓 통신 방식(stateful)

- 전이중 통신 : 클라이언트가 전송을 하고 서버에서는 응답을 보내고 연결을 유지하는 방식이며 대표적으로 웹소켓(web socket), http2.0, 3.0 방식이다
- Stateful : 클라이언트-서버 관계에서 서버가 클라이언트의 상태를 보존함을 의미한다
- 클라이언트의 상태는 session에서 저장하고 관리한다
Share article