-
(HTTP) 7 - Stateful(상태 유지), Stateless(무상태)개발/HTTP 2024. 10. 31. 08:40
■ Stateless (무상태 프로토콜)
- 서버가 클라이언트 상태 보존 x
■ Stateful (상태유지)
- 서버가 클라이언트 이전 상태를 보존
그러나 점원이 바뀌면 이전 내용을 모른다.
다음과 같이 이전 상태값에 대해서 유지하는 것이다.
무상태 상황에서는 고객이 상태에 대한 값을 모두 점원에게 전달한다.
따라서 점원이 중간에 바뀌더라도 값은 동일하게 나온다.
■ 정리
- 상태 유지(Stateful) : 중간에 다른 점원으로 바뀌면 안된다.
(중간에 다른 점원으로 바뀔 때 상태 정보를 다른 점원에게 미리 넘겨야 함)
- 무상태(Stateless) : 중간에 다른 점원으로 바뀌어도 된다.
- 갑자기 고객 증가해도 점원 대거 투입 가능
- 갑자기 클라이언트 요청 증가해도 서버 대거 투입 가능
- 무상태는 응답 서버를 쉽게 바꿀 수 있다. (상태 유지를 안하기 때문에) -> 무한 서버 증설 가능
상태 유지는 항상 같은 서버가 유지돼야 하고,
장애가 나면 처음부터 다시 요청하고 진행해야 한다.
클라이언트가 상태 다 담아서 보내고,
서버는 응답은 하되 상태를 보관하지 않는다.
따라서 장애가 나도 중계서버가 서버 2로 전달해도
동일한 값을 응답 받을 수 있다.
스케일 아웃 : 서버 수평 확장 유리
■ Stateless 실무 한계
- 모든 것을 무상태로 설계 할 수 있는 경우도 있고 없는 경우도 있다.
- 무상태
ex) 로그인 필요 없는 단순한 서비스 소개 화면 (이벤트 페이지)
- 상태 유지
ex) 로그인
- 로그인한 사용자의 경우 로그인 했다는 상태를 서버에 유지
- 일반적으로 브라우저 쿠키와 서버 세션등을 사용해 상태 유지
- 상태 유지는 최소한만 사용
- 데이터를 많이 보냄
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC
'개발 > HTTP' 카테고리의 다른 글
(HTTP) 9 - HTTP 메시지 (0) 2024.10.31 (HTTP) 8 - connectionless (비연결성) (2) 2024.10.31 (HTTP) 6 - HTTP 란? (0) 2024.10.30 (HTTP) 5 - URI 와 웹 브라우저 요청 흐름 (0) 2024.10.30 (HTTP) 4 - DNS (0) 2024.10.30