STATELESS, STATEFUL
2021. 1. 12. 21:04ㆍHTTP
HTTP의 특징중 하나는 STATELESS(무상태)이다.
STATELESS — 서버는 클라이언트의 상태를 보존하지 않는다.
장점: 서버 확작성이 높다(스케일 아웃)
단점: 클라이언트의 추가 데이터 전송
STATEFUL
고객(클라이언트) — 아메리카노 주세요.
알바1(서버1) — 아이스로 드릴까요? 따뜻한걸로 드릴까요?
고객(클라이언트) — 아이스로 주세요.
알바1(서버1) — 네 여기 있습니다.
- 알바1이 고객이 아메리카노를 주문한 사실을 알고 있다.
STATEFUL 문제점 — 중간에 서버가 변경되면?
고객(클라이언트) — 아메리카노 주세요.
알바1(서버1) — 아이스로 드릴까요? 따뜻한걸로 드릴까요?
고객(클라이언트) — 아이스로 주세요.
알바2(서버2) — 어떤 음료를 아이스로 드릴까요?
- 알바2는 고객이 주문한 음료정보를 알지 못한다.
STATELESS
고객(클라이언트) — 아메리카노 주세요.
알바1(서버1) — 아이스로 드릴까요? 따뜻한걸로 드릴까요?
고객(클라이언트) — 아메리카노 아이스로 주세요.
알바2(서버2) — 네 여기 있습니다.
- 서버는 클라이언트에 대한 정보(상태)를 보존하지 않지만, 클라이언트가 자원에 대한 모든 정보를 서버에 제공함으로써 이 문제를 해결할 수 있다.
하지만 클라이언트의 상태를 유지해야하는 서비스도 있다 (로그인)
- 일반적으로 브라우저 쿠키와 서버 세션등을 사용해서 상태 유지
- 상태 유지는 최소한만 사용
'HTTP' 카테고리의 다른 글
HTTP 메시지 구조 (0) | 2021.01.12 |
---|---|
HTTP 지속연결 (0) | 2021.01.12 |
IP, TCP, UDP 간단 정리 (0) | 2021.01.12 |