무상태 프로토콜
무상태 프로토콜(Stateless Protocol)은 서버가 클라이언트의 이전 요청을 기억하지 않는 통신 프로토콜을 의미한다. 각 요청은 독립적으로 처리되며, 이전 요청에 대한 정보는 서버에 저장되지 않는다. 따라서 각 요청은 필요한 모든 정보를 포함해야 한다.
특징
- 단순성: 서버는 클라이언트의 상태를 유지할 필요가 없으므로 설계가 단순해진다.
- 확장성: 서버는 특정 클라이언트에 종속되지 않으므로 클라이언트 수가 증가해도 서버의 부담이 적어 확장성이 용이하다.
- 가시성: 각 요청이 독립적이므로 네트워크 모니터링 및 디버깅이 용이하다.
- 신뢰성: 특정 서버에 문제가 발생해도 다른 서버가 요청을 처리할 수 있어 신뢰성이 높다.
예시
- HTTP (Hypertext Transfer Protocol): 웹 브라우저와 웹 서버 간의 통신에 사용되는 프로토콜로, 각 HTTP 요청은 독립적으로 처리된다. 쿠키 등을 사용하여 상태를 유지하기도 하지만, HTTP 자체는 무상태 프로토콜이다.
- REST (Representational State Transfer) API: REST 아키텍처 스타일을 따르는 API는 일반적으로 무상태 프로토콜을 사용한다.
장단점
장점 | 단점 |
---|---|
서버 구현 단순화 및 확장성 용이 | 매 요청마다 필요한 모든 정보 전송 필요 |
클라이언트의 자율성 증가 | 매 요청에 동일한 정보를 반복적으로 전송해야 할 수 있음 |
서버 자원 효율적 사용 (상태 유지 불필요) |