HTTP stateless와 세션·쿠키

박재빈·2024년 11월 1일
0

HTTP와 Stateless

HTTP의 stateless 특성은 각 요청이 서로 독립적이며, 이전 요청의 정보를 전혀 알지 못한다는 뜻입니다. 예를 들어, 사용자가 로그인한 후 다시 페이지를 이동하거나 새로고침하면 서버는 사용자가 로그인한 상태라는 것을 기본적으로 인식하지 못합니다. 이런 특성 덕분에 HTTP는 단순하고 빠른 성능을 보장하지만, 한편으로는 사용자의 상태를 지속적으로 확인해야 하는 애플리케이션에서는 불편함이 발생합니다.

이 문제를 해결하기 위해 등장한 것이 쿠키와 세션입니다. 이 두 가지 방식은 HTTP의 stateless한 특성을 보완하여 상태를 관리할 수 있게 도와줍니다.

세션과 쿠키를 통한 상태 관리

쿠키로 상태 유지

쿠키는 클라이언트의 브라우저에 특정 정보를 저장하여 상태를 유지하는 방식입니다. 서버가 클라이언트에 쿠키를 설정하고, 이후 요청마다 클라이언트가 쿠키를 포함하여 서버에 전송합니다.

예를 들어, 사용자가 로그인하면 서버는 로그인 상태를 저장한 쿠키를 클라이언트에 보내고, 클라이언트는 서버에 요청할 때마다 쿠키를 포함하여 서버가 로그인 상태를 유지하도록 돕습니다. 이렇게 쿠키를 통해서 로그인 상태를 계속 유지할 수 있지만, 정보가 쿠키에 저장되어있어 보안적으로 문제가 될 수 있습니다.

세션으로 상태 유지

세션은 서버에 사용자의 상태 정보를 저장하는 방식입니다. 세션은 세션ID를 생성하고 이 세션ID를 쿠키에 담아서 클라이언트에 전달합니다. 클라이언트는 이후 요청에 받은 ID를 서버로 전달하게 됩니다. 서버는 이 세션 ID를 통해서 사용자를 식별합니다. 로그인의 경우 이 세션 영역에 회원 상태를 세션에 담아서 로그인 상태를 유지할 수 있습니다.

0개의 댓글