Day 36 · 5/5
🌿 중급 백엔드

stateless가 뭔가요?

쉽게 이해하기

무인 발권기는 당신이 이전에 뭘 했는지 모르고, 매번 티켓을 찍을 때마다 필요한 정보를 다 입력해야 하죠. stateless 서버도 마찬가지로 매 요청마다 모든 정보를 받아야 합니다.

핵심 정리

stateless는 서버가 이전 요청의 정보를 저장하지 않고, 매 요청마다 필요한 모든 정보를 받는 방식입니다.

자세히 알아보기

stateless는 서버가 클라이언트의 상태를 기억하지 않는다는 의미입니다. 예를 들어, 로그인 후 사용자 정보를 서버 메모리에 저장하는 대신, 매번 요청할 때 토큰에 담아서 보내는 방식이 stateless예요. REST API의 핵심 원칙 중 하나이기도 합니다. stateless의 가장 큰 장점은 확장성입니다. 서버가 상태를 저장하지 않으니, 요청이 어느 서버로 가든 상관없어요. 로드밸런서가 10대의 서버 중 아무거나 선택해도 똑같이 작동하죠. 반대로 stateful(상태 저장) 방식은 특정 서버에 사용자 세션이 저장돼 있어서, 같은 서버로 계속 요청을 보내야 합니다. 실무에서는 JWT 토큰이 대표적인 stateless 인증 방식입니다. 토큰 안에 사용자 정보가 다 들어있어서, 서버는 데이터베이스 조회 없이도 토큰만 검증하면 되죠. 반면 세션 기반 인증은 서버에 세션 저장소가 필요해서 stateful입니다. 다만 stateless도 단점은 있습니다. 토큰을 강제로 무효화하기 어렵고(로그아웃 처리가 복잡), 토큰 크기가 커질 수 있어요. 그래서 실무에서는 상황에 맞게 stateless와 stateful을 적절히 섞어 씁니다.