Stateful(상태유지)
- 상태유지
상태유지 - 만약 중간에 점원이 바뀌면?
Stateless(무상태 프로토콜)
- 서버가 클라이언트의 상태를 보존하지 않음
- 장점 ⇒ 서버 확장성이 높음
- 단점 ⇒ 클라이언트가 추가적인 데이터를 전송
- 무상태 유지
- 무상태 유지 - 만약 점원이 중간에 바뀌면?
📌 상태유지 ⇒ 중간에 서버가 변경이 되어선 안된다.(항상 같은 서버 유지)

만약 중간에 서버가 고장나면 클라이언트는 처음부터 다시 데이터를 전송해야함
무상태유지 ⇒ 아무 서버나 호출해도 가능

중간에 서버가 고장나면 다른 서버를 이용하면 된다.

로그인 방식에서는 무조건 Stateful방식을 사용해야하나?
기존에 사용하던 세션방식으로 로그인 하는 방식은 Stateful방식을 이용해야한다.
왜냐하면 서버가 바뀌면 사용자는 다시 로그인을 해야하는 번거로움이 있기 때문이다
그렇다면 Stateless하게 로그인 하는 방식은 없을까?
JWT방식을 이용하면 가능하다.
JWT에 대해서는 다음 포스트에서 좀 더 자세하게 설명하겠다.
📌 JWT토큰 방식 순서
1. 사용자가 로그인을 하면 DB에서 확인을 해서 일치하면 Access token을 발급
2. 클라이언트는 발급받은 토큰을 쿠키에 저장
3. 클라이언트가 서버에 요청을 보낼 때마다 서버에게서 받은 토큰을 헤더에 담아서 전송
4. 서버는 토큰의 유효기간과 토큰의 ‘서명’부분을 확인하여 사용자 정보를 확인 후, 요청받은 정보를 클라이언트에게 전송
connectionless(비연결성)
- HTTP는 기본이 연결을 유지하지 않는 모델
- 서버 자원을 효율적으로 사용할 수 있다는 장점이 있음
<단점>
- TCP/IP연결을 새로 맺어야함 ⇒ 3way handshake 시간 추가
📌 Stateless 와 connectionless차이 ⇒ HTTP특징
Stateless ⇒ 서버와 클라이언트 사이에 상태를 유지하지 않음(무상태유지)
Connectionless ⇒ TCP/IP 연결을 지속적으로 하지 않음
'HTTP' 카테고리의 다른 글
[HTTP] HTTP란? (1) | 2024.01.02 |
---|---|
[HTTP] URI와 웹 브라우저 요청 흐름 (0) | 2023.12.30 |
[HTTP] 인터넷 네트워크 (1) | 2023.12.22 |
[HTTP] REST API란? (1) | 2023.10.21 |