관리 메뉴

개발하는 동그리

[네트워크] Stateful & Stateless 본문

IT 정보/Spring

[네트워크] Stateful & Stateless

개발하는 동그리 2022. 6. 5. 17:02
반응형

Stateful (상태 유지)

  • 서버에서 클라이언트의 상태를 계속 저장해야 한다. 
  • 항상 같은 서버가 유지되어야 한다. (저장되어 있기 때문에)
  • 서버가 변경 시 문제 발생

Stateless (무상태)

  • 서버에서 상태를 저장하지 않는다. 항상 모든 정보를 담아서 서버에 전송한다. 
  • 클라이언트의 요청이 증가해도 서버를 투입해서 해결이 가능하다. Scale out (수평 확장에 유리)
  • 서버 변경 시에 아무런 문제가 없음

상황에 따라 상태 유지와 무상태를 구분해서 사용한다. 따라서 상태 유지는 최소한으로 사용하는것이 좋다. 상태유지는 로그인을 유지하기 위해 사용하긴 하지만, 일반적으로 브라우저 쿠키와 서버 세션을 사용해서 상태를 유지한다. 


비 연결성 (connectionless) 

장점

  • HTTP는 기본이 연결을 유지하지 않는다. 
  • 일반적으로 초 단위로 응답속도가 빠르다. 
  • 자원을 효율적으로 사용 가능

단점

  • TCP/IP 매번 새로 연결해야 함 ( 3 way - handshake )
  • 매번 많은 자원을 다운받아야 함. 

단점을 해결하기 위해 HTTP 지속연결 (Persistent Connections)로 문제 해결했다. (메커니즘에 따라 ~~ 일정시간 유지)

반응형

'IT 정보 > Spring' 카테고리의 다른 글

[네트워크] SPA(Single Page Application) : AJAX  (8) 2022.06.05
[네트워크] HTTP Messages  (10) 2022.06.05
[네트워크] TCP/IP & UDP  (2) 2022.06.05
[네트워크] URL / URI  (4) 2022.06.05
[네트워크] 프로토콜과 API  (7) 2022.06.05