Stateful, Stateless
- 네트워크 프로토콜
- 클라이언트와 서버간의 통신하는 방식
Stateful(상태 유지)
- 서버가 클라이언트의 상태를 보존
- 서버가 클라이언트가 이전 단계에서 제공한 값을 보존하고 다음 단계에서도 가지고 있는 상태
- 장점 -- 상태를 보존하고 있기 때문에 통신이 중단되더라도 중단된 곳 부터 다시 시작할 수 있음
- 단점 -- 항상 같은 서버가 유지되어야 함
Stateless(무상태)
- 서버가 클라이언트의 상태를 보존하지 않음
- 서버가 클라이언트의 상태를 보존하지 않기 때문에 매번 요청에 모든 상태 값들을 전달해 줘야 함
- 장점 -- 서버가 클라이언트의 상태를 보존하지 않기 때문에 확장성이 좋음(스케일 아웃 - 수평 확장 유리)
- 단점 -- 상태 정보를 저장하지 않기 때문에 클라이언트 측에서 송신할 데이터의 양이 많아짐
Stateless 실무 한계
- 모든 것을 무상태로 설계 할 수 있는 경우도 있고 없는 경우도 있다.
- Stateless(무상태)
- ex) 로그인이 필요 없는 단순한 서비스 소개 화면
- Stateful(상태 유지)
- ex) 로그인을 해야하는 경우
- 로그인한 사용자의 경우 로그인 했다는 상태를 서버에 유지해야 함
- 일반적으로 브라우저 쿠키와 서버 세션등을 사용해서 상태를 유지
- 상태 유지는 최소한만 사용
'HTTP 웹 기본 지식' 카테고리의 다른 글
HTTP 기본[HTTP 메시지] (0) | 2022.11.24 |
---|---|
HTTP 기본[비 연결성(connectionless)] (0) | 2022.11.23 |
HTTP 기본[클라이언트 서버 구조] (0) | 2022.11.23 |
HTTP 기본[모든 것이 HTTP] (0) | 2022.11.23 |
URI와 웹 브라우저 요청 흐름[웹 브라우저 요청 흐름] (0) | 2022.11.22 |
댓글