[python] 쿠키와 세션 관리

소개

쿠키와 세션은 웹 애플리케이션에서 사용자 상태를 유지하고 식별하기 위한 중요한 도구입니다. 이 기술은 사용자가 웹 페이지를 방문할 때 사용되며, 로그인 상태를 유지하거나 장바구니와 같은 상태를 유지하기 위해 사용됩니다. 이 글에서는 쿠키와 세션의 개념, 차이, 그리고 파이썬에서의 구현 방법에 대해 알아보겠습니다.

쿠키(Cookie)

쿠키는 클라이언트 측에 저장되는 작은 데이터 조각이며, 주로 브라우저에서 사용됩니다. 쿠키는 서버가 클라이언트에게 전달하여 클라이언트 측에 저장되며, 이후에 같은 서버에 요청이 있을 때마다 서버로 다시 전송됩니다.

쿠키는 이름, 값, 만료 날짜, 경로 및 도메인과 같은 여러 속성을 가지고 있습니다. 만료 날짜 이후에는 쿠키가 삭제됩니다. 보안 상의 이유로 민감한 정보는 저장하지 않는 것이 좋습니다.

from http import cookies

# creating a cookie
c = cookies.SimpleCookie()
c['user_id'] = '123'
c['user_id']['expires'] = 3600  # expire in 1 hour
print(c)

세션(Session)

세션은 서버 측에서 사용자의 상태를 유지하는 데 사용됩니다. 사용자가 웹 사이트에 접속하면 서버는 해당 사용자를 위한 고유한 세션 ID를 생성하고 이를 쿠키를 통해 클라이언트에게 전달합니다. 클라이언트는 이후의 요청에서 세션 ID를 서버로 다시 제공하여 세션을 유지합니다.

파이썬에서는 보통 웹 애플리케이션 프레임워크를 사용하여 세션을 쉽게 관리할 수 있습니다.

from flask import Flask, session
app = Flask(__name__)
app.secret_key = 'super secret key'  # secret key for session

# setting session data
session['user_id'] = '123'

결론

쿠키와 세션은 웹 애플리케이션에서 사용자 상태를 유지하기 위한 중요한 개념입니다. 각각의 장단점을 고려하여 적절하게 활용해야 합니다. 파이썬을 사용하여 웹 애플리케이션을 개발할 때는 해당 프레임워크의 지원을 활용하여 쿠키와 세션을 쉽게 관리할 수 있습니다.

참고 문헌: