Web 应用是无状态的,浏览器每次向服务器发送请求,服务器都无法识别请求是否来自同一个用户。为了维持用户状态,通常会使用会话(Session)机制,将某些关键数据在多个请求间传递。
在 Flask 中,会话机制通过内置的 session
对象实现。这个对象底层依赖 Cookie 进行数据存储,并使用加密签名保证数据不被客户端篡改。Flask 默认使用客户端会话存储模型,即会话数据保存在浏览器 Cookie 中,而不是服务器数据库,这种方式使得轻量、高效但需注意安全与容量限制。
session 的基本使用与配置
Flask 的 session
是一个类似字典的对象,可以像操作普通 Python 字典一样存储和读取数据。这个对象依赖于一个密钥(SECRET_KEY
)来加密签名 Cookie 中存储的数据,确保数据未被修改。
配置密钥并使用 session 存储数据
在使用 session 前,Flask 应用必须设置一个密钥,用于生成签名,确保会话数据的完整性。
from flask