파이썬 플라스크 웹 프레임워크로 로그인 기능을 구현하면서 많은 것을 배웠습니다.
구현을 하면서 참고했던 자료들과 내용을 정리해보겠습니다.
# HTTP ▶ 비 연결성(Connectionless)과 무상태성(Stateless)
HTTP(Hypertext Transfer Protocol)는 W3 상에서 정보를 주고 받을 수 있는 프로토콜입니다.
HTTP는 비 연결성(Connectionless)와 무상태성(Stateless)라는 특징이 있습니다.
위와 같은 특징은 클라이언트가 서버와 연결 상태를 유지하지 않기 때문에 서버 자원을 절약할 수 있습니다.
하지만 연결 해제 후에 상태 정보가 저장되지 않는다는 단점이 있습니다.
여기서 클라이언트가 웹사이트를 접속해 로그인을 한다고 하면, 매번 로그인을 해야 한다는 문제가 발생합니다.
즉 클라이언트의 로그인 정보가 필요한 경우에는 번거롭게 아이디, 비밀번호를 입력해야 합니다.
이런 HTTP의 비 연결성과 무상태성을 보완하기 위해 서버가 클라이언트를 식별하기 위해 쿠키와 세션을 사용합니다.
* 반대로 연결지향 프로토콜(Connection Oriented)에는 TCP가 있습니다.
# 세션과 쿠키란?
- 쿠키 : 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해
인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 일컫는다. - 세션 : 클라이언트가 Request를 보내면, 해당 서버의 엔진이 클라이언트에게 유일한 ID를 부여하는데
이것이 세션 ID입니다.
세션 쿠키에 대한 개념을 텍스트로만 이해하기 정말 힘들어서 수 많은 영상들을 봤습니다.
그 중에서 제일 괜찮다고 생각한 영상 2개를 공유해보겠습니다.
1. 유튜브 채널 [노마드코더]
https://www.youtube.com/watch?v=tosLBcAX1vk
2. 유튜브채널[얄팍한 코딩사전]
https://www.youtube.com/watch?v=OpoVuwxGRDI
# 구현한 코드
https://github.com/yarogono/AwesomeBooks/tree/feature-login
login_pages_bp.py
- 로그인 관련 로직 소스코드를 login_pages_bp 에 작성했습니다.
signup_pages_bp.py
- 회원가입 관련 로직 소스코드를 signup_pages_bp 에 작성했습니다.