1. 회원가입 과정
- 사용자 입력:
- 사용자가 회원가입 양식에 아이디, 비밀번호, 이메일 등의 정보를 입력합니다.
- 서버로 전송:
- 데이터베이스에 저장:
- 서버는 받은 정보를 데이터베이스에 저장합니다.
- 이때는 세션이 생성되지 않으며, 단순히 사용자 정보가 기록됩니다.
2. 로그인 과정
- 사용자 입력:
- 사용자가 로그인 양식에 아이디와 비밀번호를 입력합니다.
- 서버로 전송:
- 정보 확인:
- 서버는 데이터베이스에서 해당 아이디에 대한 정보를 조회하고, 입력한 비밀번호가 저장된 비밀번호와 일치하는지 확인합니다.
- 세션 생성:
- 비밀번호가 일치하면, 서버는 사용자에게 인증된 상태를 유지하기 위해 세션을 생성합니다.
- 이 세션에는 일반적으로 세션 ID와 함께 사용자의 아이디 또는 기타 사용자 정보가 저장됩니다.
- 쿠키로 저장:
- 서버는 세션 ID를 클라이언트에게 쿠키 형태로 전송합니다. 이 쿠키는 브라우저에 저장되어, 이후 사용자가 사이트의 다른 페이지로 이동할 때 로그인 상태를 유지합니다.
3. 로그아웃 과정
- 로그아웃 요청:
- 사용자가 로그아웃 버튼을 클릭하거나 로그아웃 링크를 선택하여 서버에 로그아웃 요청을 보냅니다.
- 서버에서 세션 확인:
- 서버는 로그아웃 요청을 수신한 후, 현재 사용자의 세션 정보를 확인합니다.
- 세션 종료:
- 서버는 해당 세션을 종료하고, 세션 정보를 삭제하거나 무효화합니다.
- 쿠키 삭제:
- 클라이언트 측에서 세션 ID가 저장된 쿠키를 삭제합니다. 이를 통해 브라우저는 더 이상 세션 ID를 서버에 전송하지 않게 됩니다.
- 로그아웃 완료 응답:
- 서버는 로그아웃이 완료되었다는 응답을 클라이언트에 전송합니다. 이 응답은 로그인 페이지로 리다이렉션하거나 로그아웃 성공 메시지를 포함할 수 있습니다.
요약
- 회원가입: 사용자 정보를 데이터베이스에 저장하지만 세션은 생성되지 않음.
- 로그인: 사용자가 로그인하면 세션이 생성되고, 세션 ID가 쿠키로 클라이언트에 저장됨.
- 로그아웃: 사용자가 로그아웃하면 서버에서 세션을 종료하고 쿠키를 삭제하여 로그아웃 상태가 됨.