반응형

# 모든 개발자를 위한 HTTP 웹 기본 지식 학습

# 무상태 프로토콜

  • 무상태 프로토콜(Stateless)
  • 서버가 클라이언트의 상태를 보존하지 않는다.
  • 장점 : 서버의 확장성이 높다.(스케일 아웃)
  • 단점 : 클라이언트가 추가 데이터 전송

## Stateful, Stateless 차이

  • 상태 유지(Stateful)
  • 상태 유지 (Stateful)의 예
노트북 구매 관련...
고객 : 이 노트북 얼마인가요?
점원 : ~만원 입니다.	(노트북 상태 유지)

고객 : 2대 구매하겠습니다.
점원 : ~만원 입니다. 결제수단은 어떤걸로 하시겠습니까?	(노트북, 2대 상태 유지)

고객 : 신용카드로 구매하겠습니다.
점원 : ~만원 결제 완료되었습니다.	(노트북, 2대, 신용카드 상태 유지)
  • 무상태 (Stateless)의 예
노트북 구매 관련...
고객 : 이 노트북 얼마인가요?
점원A : ~만원 입니다.

고객 : 2대 구매하겠습니다.	// 노트북 2대 구매하겠습니다.
점원B : ? 무엇을 2대 구매하시겠어요?

고객 : 신용카드로 구매하겠습니다.		// 노트북 2대, 신용카드로 구매하겠습니다.
점원C : ? 무슨 제품을 몇대 신용카드로 구매하시겠어요?
상태 유지의 경우..
중간에 다른 점원으로 바뀌면 안된다.
(중간에 다른 점원으로 바뀔 때 상태 정보를 다른 점원에게 미리 알려줘야 한다.)

무상태의 경우..
무 상태의 경우 중간에 다른 점원으로 바뀌어도 된다. 
갑자기 고객이 증가해도 점원을 대기 투입할 수 있다.
클라이언트 요청이 증가해도 서버를 대거 투입할 수 있다.
  • 무 상태는 응답 서버를 쉽게 바꿀 수 있다. (무한한 서버 증설 가능)
상태 유지 (Stateful)
항상 같은 서버가 유지되어야 한다.
중간에 서버에 장애가 날 경우 클라이언트는 처음부터 다시 해야 됨

무 상태 (Stateless)
아무 서버나 호출해도 된다.
클라이언트가 정보를 담아 요청하면, 서버는 상태를 따로 보관하지 않고 요청에 대한 응답만 한다.
중간에 서버에 장애가 날 경우 클라이언트는 다른 서버에 요청하여 문제가 발생되지 않는다.
  • 무 상태의 경우 스케일 아웃 수평 확장에 유리하다.
  • 무 상태의 단점 : 데이터를 너무 많이 담아 보낸다.

## 무 상태 (Stateless)의 실무 한계

  • 모든 것을 무 상태로 설계 할 수 있는 경우도 있고, 없는 경우도 있다.
  • 무 상태 필요 예
로그인이 필요 없는, 단순한 서비스 소개 페이지
  • 상태 유지 필요 예
로그인

=>
로그인한 사용자의 경우 로그인 했다는 상태를 서버에 유지해야 한다.
일반적으로 브라우저 쿠키와 서버 세션등을 사용해서 상태를 유지한다.
상태 유지는 최소한만 사용한다.

 

출처 : 인프런 모든 개발자를 위한 HTTP 웹 기본 지식

반응형

'인프런 강의 학습 > HTTP 기본 지식' 카테고리의 다른 글

HTTP 웹 기본 지식 8일차  (0) 2020.12.31
HTTP 웹 기본 지식 7일차  (0) 2020.12.30
HTTP 웹 기본 지식 5일차  (0) 2020.12.28
HTTP 웹 기본 지식 4일차  (0) 2020.12.27
HTTP 웹 기본 지식 3일차  (0) 2020.12.25

+ Recent posts