Introduction
쿠키는 다음 위치에 저장되는 작은 텍스트 파일입니다. 웹 서버에 의한 사용자의 장치. 기본 설정 및 로그인 상태와 같은 사용자의 웹 사이트 방문에 대한 정보를 추적하는 데 사용됩니다. 쿠키는 최신 웹 브라우징의 필수 요소이며 웹사이트에서 각 사용자에게 개인화된 환경을 제공할 수 있도록 합니다.
How cookies work
사용자가 웹사이트를 방문하면 웹 서버는 장치에 쿠키를 보낼 수 있습니다. 쿠키는 일반적으로 기본 설정 또는 로그인 상태와 같은 사용자 방문에 대한 일부 정보가 포함된 작은 텍스트 파일입니다. 그런 다음 사용자의 웹 브라우저는 쿠키를 장치에 저장합니다. 다음에 사용자가 같은 웹사이트를 방문하면 웹 브라우저가 쿠키를 다시 웹 서버로 보냅니다. 그런 다음 서버는 쿠키의 정보를 사용하여 사용자에게 개인화된 경험을 제공할 수 있습니다.
쿠키에는 만료 날짜가 있을 수 있으며 그 후에는 더 이상 웹 서버로 다시 전송되지 않습니다. 이는 사용자가 무기한 로그인 상태를 유지해서는 안 되는 로그인 세션과 같은 작업에 유용할 수 있습니다.
Types of cookies
쿠키에는 세션 쿠키와 영구 쿠키의 두 가지 주요 유형이 있습니다.
세션 쿠키는 웹사이트를 방문하는 동안 사용자의 웹 브라우저에 저장되는 임시 쿠키입니다. 일반적으로 사용자의 로그인 상태를 추적하거나 방문하는 동안 사용자의 기본 설정에 대한 정보를 저장하는 데 사용됩니다. 세션 쿠키는 사용자가 웹 브라우저를 닫으면 삭제됩니다.
반면 영구 쿠키는 웹 브라우저를 닫은 후에도 사용자의 장치에 저장됩니다. 일반적으로 만료 날짜가 있으며 그 이후에는 더 이상 웹 서버로 다시 전송되지 않습니다. 영구 쿠키는 종종 사용자의 로그인 자격 증명이나 기본 설정을 기억하는 것과 같은 용도로 사용됩니다.
Using cookies to authenticate sessions
쿠키는 웹사이트에서 사용자 세션을 인증하는 데 사용할 수 있습니다. 사용자가 웹 사이트에 로그인하면 서버는 해당 사용자에 대한 세션을 생성하고 쿠키의 세션 ID를 사용자의 웹 브라우저에 보낼 수 있습니다. 그런 다음 브라우저는 후속 요청이 있을 때마다 세션 ID를 서버로 다시 보내어 서버가 사용자를 식별하고 세션을 유지할 수 있도록 합니다.
다음은 쿠키를 사용하여 세션을 인증하는 방법에 대한 간단한 예입니다.
from flask import Flask, request, make_response
import uuid
app = Flask(__name__)
@app.route('/login', methods=['POST'])
def login():
# authenticate user and create session
session_id = str(uuid.uuid4())
response = make_response('Logged in successfully!')
response.set_cookie('session_id', session_id)
return response
@app.route('/protected')
def protected():
# check if user is logged in
session_id = request.cookies.get('session_id')
if session_id:
# user is logged in
return 'You are logged in!'
else:
# user is not logged in
return 'You are not logged in!'
Conclusion
쿠키는 최신 웹 브라우징의 필수 부분이며, 이를 통해 웹사이트는 각 사용자에게 개인화된 경험을 제공할 수 있습니다.
기본 설정 및 로그인 상태와 같은 사용자 방문에 대한 정보를 저장하는 데 사용할 수 있습니다.
쿠키는 또한 웹사이트에서 사용자 세션을 인증하는 데 사용될 수 있습니다.
'기술블로그' 카테고리의 다른 글
토큰 (0) | 2023.03.08 |
---|---|
해싱 (0) | 2023.03.08 |
알고리즘 성능 특성 (0) | 2023.03.03 |
WAI-ARIA (0) | 2023.03.02 |
웹 콘텐츠 접근성 지침 (0) | 2023.03.02 |