HTTP는 클라이언트의 상태를 서버가 기억하지 않는 무상태(stateless) 프로토콜이다.
왜 Stateless하게 설계했을까?
- 초기 웹은 단순한 요청-응답 구조였다.
- 서버가 상태를 기억하면 사용자별 데이터를 저장해야 한다.
- 이는 복잡성과 리소스 부담을 높인다.
- 요청마다 필요한 정보를 모두 담도록 설계하는 것이 더 단순하고 확장에 유리하다.
로그인 상태는 어떻게 유지할까?
- 대표적인 방식은 JWT 토큰 인증.
- 클라이언트가 JWT를 저장하고, 요청마다 헤더에 토큰을 담아 보낸다.
- 서버는 토큰을 해석해서 사용자 정보를 확인한다.
세션 방식과의 차이점
항목 | 세션 방식 | JWT 방식 |
---|---|---|
상태 저장 위치 | 서버 | 클라이언트 |
서버 확장성 | 낮음 | 높음 |
강제 만료 | 가능 | 어려움 (별도 처리 필요) |
핵심 정리
Stateless란, 서버가 클라이언트의 상태를 기억하지 않고
매 요청을 독립적으로 처리하는 구조이다.