상태 비 저장 서버 란 무엇입니까?


최상의 답변

상태 비 저장은 상태가 없음을 의미합니다.

예를 들어 웹 서버를 살펴 보겠습니다. Stateful 또는 Stateless 일 수 있습니다.

Stateful은 서버가 여러 후속 요청에서 사용자를 식별하기 위해 일부 세션 정보를 저장한다는 것을 의미합니다. 세션이 유효하면 요청이 성공합니다.

상태 비 저장은 그 반대입니다. 서버는 상태, 즉 여러 후속 요청에서 사용자를 식별하기위한 세션 정보를 저장하지 않습니다. 각 요청에는 사용자를 식별하는 방법이 포함되어야합니다. 이를 달성하는 한 가지 방법은 토큰 (예 : JSON 웹 토큰 또는 oAuth)을 사용하는 것입니다. 이 토큰은 각 요청과 함께 전송됩니다 (일반적으로 요청 헤더에 있음).

이렇게하면 서버가 세션 데이터를 유지할 필요가 없어져 여러 서버로 이동하면 확장성에 영향을 미치며 그렇지 않으면 세션 데이터를 공유해야합니다.

답변

웹과 관련하여 세션이라는 것을 들어 본 적이 있습니까?

개념을 일반화하지 않고 고수하는 방식으로 설명하겠습니다. 거의 모든 사람들이 인터넷이나 WWW에서 겪은보다 일반적인 만남입니다.

Stateful 서버는 사용자의 상태 정보를 세션 형태로 유지합니다. 이것은 웹 사이트에서 계정에 로그인하는 것과 다릅니다. 오늘날 WWW를 통해 액세스 할 수있는 대부분의 HTTP 웹 사이트는 사용자의 세션 정보를 유지합니다. 따라서 세션 실행 중에 모든 요청은 해당 웹 사이트의 페이지를 처음 방문했을 때 열린 특정 세션에 속합니다. 일반적으로 세션은 브라우저를 닫을 때만 종료됩니다. 세션 정보를 유지하면 웹 서버가 개인화 된 서비스를 제공하는 데 도움이됩니다. 또한 세션은 또한 언제든지 동시 웹 트래픽을 모니터링하는 데 도움이되며, 서버에 수많은 요청을 전송하여 (아마도 동일한 세션을 사용하여) 서버를 중단하려는 악의적 인 사용자를 차단하는 등의 보안 기능을 제공합니다. 마지막으로 세션은 웹 사이트에 로그인하는 데 사용됩니다. 웹 사이트에 로그인하면 사용자가 연 세션의 웹 서비스에 의해 고유 식별자가 저장되고 이후의 모든 요청에 ​​대해 웹 서버는 서비스에 액세스하는 사람이 본인임을 알고 있습니다.

상태 비 저장 반면에 서버는 사용자에 대한 상태 정보를 유지하지 않습니다. 각 요청은 이전 요청과 완전히 독립적입니다. HTTP를 사용하는 가장 일반적인 상태 비 저장 아키텍처는 웹 API를 설계하는 데 사용되는 REST (REpresentational State Transfer)입니다. 서비스 요청에 사용자에게 이전에 할당 된 고유 한 사용자 ID가 포함되어있는 경우 상태 비 저장 서버는 여전히 사용자를 식별 할 수 있습니다. 그러나 세션에서이 사용자 ID를 유지하는 Stateful 서버의 경우와 달리 해당 사용자 ID는 모든 요청에 ​​전달되어야하며 요청 데이터에 반드시이 ID가 포함될 필요는 없습니다.

이 답변을 통해 저는 상태 저장 서버와 상태 비 저장 서버 간의 주요 차이점을 강조했습니다. 차이점은보다 일반적인 시나리오로 확장 될 수 있습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다