1. 쿠키(Cookies)
2. 세션(Session)
① 클라이언트가 웹사이트로 요청을 보냄
② 서버는 클라이언트의 cookie 파일 중 SessionID가 없는 것을 확인
③ 해당 클라이언트 고유의 SessionID를 발급하고 상태 정보를 서버 측에 저장
④ 요청 응답과 함께 SessionID가 담긴 쿠키 파일을 클라이언트에게 전송
⑤ 클라이언트가 부가적인 요청을 보낼 때 자신의 SessionID가 담긴 쿠키 파일 또한 보냄
⑥ 서버는 해당 요청의 쿠키 파일 내에 있는 SessionID를 이용해 사용자 식별
이미지 출처
1. Login Template 생성
2. View 생성
user = User.objects.get(username=username) # User 테이블에서 조건에 맞는 행 추출
check_password(password, user.password) # 입력받은 password와 DB내에 있는 password 비교
request.session['user'] = user.id # 해당 클라이언트 Session 객체 생성 후 상태정보 저장
return redirect('/') # 홈페이지로 이동
3. 로그인 Session 유지
user_id = request.session.get('user') # 요청을 보낸 클라이언트의 세션에서 'user' 상태정보 추출
if user_id: # login을 성공해야만 session에 'user' 값이 존재
4. URL 파싱
5. 로그인 결과 화면
1. View 생성
2. URL 파싱
3. 로그아웃 결과 화면