stateless
라는 말을 종종 들었었는데 정확히 알지는 못했었다.
Stateful
- 상태 유지
- 서버가 클라이언트의 상태를 보존함을 의미
- 한번 로그인을 하면 페이지를 이동해도 로그인이 풀리지않고 계속 유지되는 것
- 브라우저의 쿠키, 서버의 세션 등
문제점
- 해당 서버가 멈추거나 다른 서버를 사용해야 할 때 이전 서버에서 갖고 있던 상태값들을 갖고 있지 않게 된다.
- 클라이언트로부터 요청을 받을 시 클라이언트의 상태를 계속해서 유지해 놓고 사용하여 사용자가 증가함에 따라 성능 이슈가 발생할 수 있다.
Stateless
- 무상태
- 서버가 클라이언트의 상태를 보존하지 않는다.
- 서버는 단순히 요청이 오면 응답을 보내는 역할만 수행하며 상태관리 자체는 클라이언트에게 책임이 있다.
- 클라이언트와 서버간의 통신에 필요한 모든 상태 정보들은 클라이언트에서 가지고 있다가 서버와 통신할때 데이터를 실어 보내는 것
- 토큰 인증 기반 시스템
- 상태를 보관하지 않기 때문에 서버 상의 문제가 터져도 문제 없다.
- 대량 트래픽 발생 시에도 서버 확장 통해 대처를 수월하게 할 수 있다.(서버에 상태를 보관하지 않기 때문)