로그인 기능을 구현할 때 쿠키 또는 세션이 필요한 이유
- HTTP의 connectionless(모든 연결이 독립적임)와 stateless(연결에 대한 정보를 저장하지 않음)의 속성 때문이다.
- 따라서 쿠키나 세션이 없으면 페이지를 이동할 때마다 다시 로그인 해야 한다.
쿠키
사용자 브라우저에 저장되는 작은 데이터 파일
을 말한다.- 유효시간에 대한 데이터가 포함되어서 브라우저를 닫아도 살아 있을 수 있다.
- 클라이언트 쪽에 저장되고 브라우저를 닫아도 살아 있을 수 있기 때무에 빠르고 편하다는 장점이 있지만 보안에 취양하다는 단점이 있다.
세션
- 서버 측에 정보를 저장하고 세션 ID를 담은 쿠키를 주고 받는 방식이다.
- 세션 ID는 해당 클라이언트의 고유한 ID를 말한다.
- 서버 측에 정보를 저장하여 쿠키보다 느리고 서버 리소스를 잡아 먹지만, 보안상 더 우수한 장점이 있다.
- 따라서 로그인 등 보안적으로 중요한 기능에 사용된다.
P.S. 그 밖에 JWT(JSON Web Token)을 사용할 수도 있다.
아래 침고링크들을 읽고 난 후 repl.it에 Flask로 샘플 로그인 기능을 만들어 보았다. 완벽하진 않지만 Flask에서 어떻게 session을 이용하여 login 기능을 구현하는지 감을 잡을 수 있었다.
참고링크
API - Flask Documentation (1.1.x)
[Flask] Session 사용해서 로그인,로그아웃 심플예제
https://www.youtube.com/watch?v=2Zz97NVbH0U
PrettyPrinted/youtube_video_code
Quickstart - Flask Documentation (1.1.x)
0 comments:
댓글 쓰기