본문 바로가기
IT/팀, 사이드 프로젝트

[팀프로젝트]로그인 기능(세션과 쿠키)

by 공부하는개미 2021. 10. 31.
반응형

 

파이썬 플라스크 웹 프레임워크로 로그인 기능을 구현하면서 많은 것을 배웠습니다.

구현을 하면서 참고했던 자료들과 내용을 정리해보겠습니다.

 

# 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

 

GitHub - yarogono/AwesomeBooks

Contribute to yarogono/AwesomeBooks development by creating an account on GitHub.

github.com

 

 

login_pages_bp.py

  • 로그인 관련 로직 소스코드를 login_pages_bp 에 작성했습니다.

 

 

signup_pages_bp.py

  • 회원가입 관련 로직 소스코드를 signup_pages_bp 에 작성했습니다.

 

 

 

참고 자료들

반응형