-
(6) HTTP - StatelessHTTP 웹/Http 웹 기본 2021. 6. 19. 13:19
1. HTTP 무상태 프로토콜
1-1) 정의
aka. Stateless 라고도 함 ( ※ Stateful과 반대 개념 )
서버가 클라이언트의 상태를 보존, 기억하지 않는 것을 의미
※ Stateful, Stateless 차이
1) Stateful
※ 서버 장애시 client는 처음부터 다시 수행해야 함(문맥이 유지되어야 하는데 사라졌으므로)
2) Stateless
컨텍스트 / 문맥없어도 사용가능, client는 매번 필요한 정보 모두 보내줌
→ 어떤 서버가 와도 client는 동일하게 느끼기 때문에 서버 Scale-Out에 용이
※ 서버 장애시 client는 다른 서버로 가서 수행 가능(문맥이 없어도 되므로)
3) Stateful, Stateless차이
- 상태유지 : 중간에 다른 서버로 바뀌면 안됨
- 바꾸려면, 상태 정보를 다른 서버에 미리 알려줘야 한다 - 무상태 : 중간에 다른 서버로 바뀌어도 됨
- 갑자기 clinet가 증가해도 서버를 대거 투입할 수 있음
※ 무상태는 응답 서버를 쉽게 바꿀 수 있으므로 서버 증설이 매우 쉽다 (수평 확장)
1-2) 장단점
(a) 장점
서버의 확장성이 높음 ( 스케일 아웃 )
> [스케일 아웃이란?▼]
더보기1. 스케일 아웃(Scale out)
(1) 정의
접속된 서버의 대수를 늘려 처리 능력을 향상시키는 것이다. 수평 스케일로 불리기도 한다. 전형적으로는 웹 서버 펌으로서 사용되고 있는 랙 마운트 서버군에 서버를 추가하는 것이나 브레이드 서버에 브레이드를 추가하는 것 등이다. 서버의 가상화 기능을 사용하고 하나의 케이스 내에서 가상적으로 복수 서버를 구축해 스케일 아웃과 동등의 효과를 제공할 수도 있다. 이러한 방식을 특히 스케일 위드인 또는 가상 스케일 아웃 등으로 부르기도 한다.
(2) 적용
개개의 처리는 비교적 단순하지만 다수의 처리를 동시 병행적으로 실시하지 않으면 안 되는 경우에 적합한데 갱신 데이터의 정합성(데이터가 서로 모순 없이 일관되게 일치해야 하는 경우) 유지에 대한 요건이 별로 어렵지 않은 경우에 적절하다. 즉 높은 병렬성을 실현하기 쉬운 경우이다. 웹 서버 펌, 데이터가 읽기 전용인 검색엔진 데이터 분석 처리 VOD(주문형 비디오) 일부의 과학기술 계산, 메일 서버나 게시판 등의 어플리케이션 등에 적용할 수 있다.
2. 스케일 업(Scale up)
(1) 정의
서버 그 자체를 증강하는 것에 의해서 처리 능력을 향상시키는 것이다. 수직 스케일로 불리기도 한다. 전형적으로는 SMP(대칭형 멀티 프로세서)에 대해 프로세서를 추가하는 것이나 프로세서 그 자체를 고성능 모델로 옮겨놓는 것을 가리킨다.
(2) 적용
어플리케이션 서버에서는 스케일 아웃이 가능해도 빈번히 갱신이 발생하여 정합성(데이터가 서로 모순 없이 일관되게 일치해야 하는 경우) 유지가 어려운 데이터베이스 서버에서는 스케일 업이 필요하다. 즉 하나의 이미지 데이타베이스에 대해서 빈번히 갱신이 발생하는, 이른바 OLTP(온라인 트랜잭션 처리)에는 스케일 업이 적합하다.
참조 : https://m.blog.naver.com/islove8587/220548900044(b) 단점
클라이언트가 추가 데이터를 전송해야 함
- 매번 모든 정보를 넘겨야 무상태로 동작하므로 데이터 전송이 많음
2. Stateless의 한계
2-1) 실무 한계
- 모든 것을 무상태로 설계할 수 없는 경우가 있음
- 무상태
- 로그인이 필요 없는 단순한 서비스 소개 화면 - 상태유지
- 로그인 필요한 기능 - 로그인한 사용자의 경우 로그인 했다는 상태를 서버에 유지
- 일반적으로 브라우저 쿠키 / 서버 세션 등을 사용해서 상태 유지
( 세션 유지 서버가 날아가면 로그아웃 되어버림 )
- 상태 유지는 최소한만 사용!
참조
섹션 : HTTP 기본
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard
반응형'HTTP 웹 > Http 웹 기본' 카테고리의 다른 글
(8) HTTP - HTTP 메세지 (0) 2021.06.21 (7) HTTP - Connectionless (0) 2021.06.19 (5) HTTP - 모든 것이 http / Client Server 구조 (0) 2021.06.15 (4) URI & 웹브라우저 요청 흐름 - URI, 웹브라우저 요청 흐름 (0) 2021.06.14 (3) 인터넷 통신 - PORT, DNS (0) 2021.06.14 - 상태유지 : 중간에 다른 서버로 바뀌면 안됨