상태 저장 / 상태 비저장 개념 이해하기
- IT
- 2023. 4. 6.
상태 저장 / 상태 비저장이란?
상태 저장(stateful)과 상태 비저장(stateless)은 시스템이나 프로토콜이 상호작용하는 과정에서 상태 정보를 추적하거나 유지하는 방식을 나타냅니다. 쉽게 말하면 상태 저장은 이전 요청을 기억(저장)하고 상태 비저장은 이전 요청을 기억하지 않는 방식입니다.
상태 저장, 비저장 개념은 예시를 보면 이해가 금방 됩니다. 다만 워낙 상태 저장, 비저장이 어디에든 적용되는 개념이라 이 글에서 설명드리는 예시 자체가 큰 의미를 갖지는 않습니다.
상태 저장 예시)
1. TCP : TCP는 인터넷에서 데이터 전송을 제어하는 프로토콜입니다. TCP는 상태 저장 프로토콜로 클라이언트와 서버 간의 모든 데이터 패킷의 전송 상태를 추적합니다. 이를 통해 데이터가 올바르게 전달되고, 전송 중 손실되거나 오류가 발생한 경우 재전송할 수 있습니다.
2. 로그인 세션 유지 : 웹 애플리케이션에서 사용자 인증 정보를 저장하여 로그인 세션을 유지하면 상태 저장 시스템입니다. 서버는 로그인한 사용자의 인증 상태를 추적하고 서비스를 이용할 수 있도록 합니다.
3. 쿠키, 캐시 : 쿠키는 사용자가 다시 방문할 때 사이트에서 인식할 수 있도록 사용자 설정, 로그인 정보, 쇼핑 카트 항목 등의 정보를 저장합니다. 캐시는 자주 사용되는 데이터나 결과를 빠르게 가져오기 위해 일시적으로 저장하는 기술입니다.
상태 비저장 예시)
1. HTTP : 웹에서 페이지와 데이터를 전송하는 데 사용되는 프로토콜인 HTTP는 상태 비저장 프로토콜입니다. 각 요청은 독립적으로 처리되며 서버는 이전 요청에 대한 정보를 저장하지 않습니다.
2. RESTful API : RESTful API는 웹 서비스에서 널리 사용되는 상태 비저장 아키텍처입니다. 클라이언트와 서버 간의 상호 작용이 독립적이며 각 요청에 필요한 모든 정보가 포함되어야 합니다.
3. DNS : 도메인 이름을 IP 주소로 변환하는 시스템인 DNS는 상태 비저장 시스템입니다. 각 쿼리가 독립적으로 처리되고 이전 쿼리에 대한 정보를 저장하지 않습니다.
'IT' 카테고리의 다른 글
UNIX TIMESTAMP를 사용하는 이유 (0) | 2023.04.07 |
---|---|
인텔 CPU, 코어와 논리 프로세서 차이 (하이퍼스레딩) (0) | 2023.04.06 |
AMD CPU 보는법 (Ryzen, EPYC 시리즈 정리) (0) | 2023.04.03 |
인텔 CPU 보는법 (Core, Xeon 시리즈 정리) (0) | 2023.04.03 |
스레드 풀(Tread Pool)이란? (0) | 2023.03.26 |