【面试题】理解Cookie,Session和Token

在Web开发中,身份验证是确保用户信息安全的关键关节。在后端开发中,常见的三种身份机制包括Cookie、Session和Token。

一、什么是Cookie

Cookie是有服务器生成并发送到客户端浏览器的一个小小的数据包。他通常以key-value的形式存储信息。浏览器会在之后的每个请求中自动携带这些信息。

  1. Cookie的作用
    • 存储用户偏好设置
    • 记录用户登录状态,尤其是当我们使用Session ID时。
    • 实现持久化的客户端存储,方便后续请求验证。
  2. Flask中的Cookie示例
from flask import Flask, make_response, request

app = Flask(__name__)


@app.route("/set_cookie")
def set_cookie():
    resp = make_response("Set Cookie  Success!")
    resp.set_cookie("username", "admin", max_age=3600)
    return resp


@app.route("/get_cookie")
def get_cookie():
    username = request.cookies.get("username")
    return f"username is : {
     
     username}"


if __name__ == "__main__":
    app.run(debug=True)
  1. FastApi中的Cookie示例
from fastapi import FastAPI, Response, Cookie

app = FastAPI()


@app.get("/set_cookie")
def set_cookie(response: Response):
    response.set_cookie(key="username", value="admin", max_age=3600)
    return {
   
   "message": "Set Cookie Success~"}


@app.get("/get_cookie")
def get_cookie(username: str = Cookie(None)):
    return {
   
   "username": username}

  1. Django中的Cookie示例:

    确保已配置好setting.py,并启动了django.middleware.csrf.CsrfViewMiddleware,以便支持Cookie

from django.http import HttpResponse
from django.shortcuts import render


def set_cookte(request):
    response = HttpResponse("Set Cookie Success~")
    response.set_cookie("username", "admin", max_age=3600)


def get_cookie(request):
    username = request.COOKIES.get("username")
    return HttpResponse(f"username is : {
     
     username}")

二、什么是Session?

Session

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值