当前位置: 首页 > news >正文

python Django中的cookies和session会话保持技术

cookies和session都是为了保持会话状态而诞生的两个存储技术

会话定义:

从打开浏览器访问一个网站,到关闭浏览器结束此次访问,称之为一次会话
HTTP协议是无状态的,导致会话状态难以保持

Cookies-定义

cookies是保存在客户端浏览器上的存储空间

Cookies特点

cookies在浏览器上是以键-值对的形式进行存储的,键和值都是一ASCLL字符串的形式存储(不能是中文字符串)
存储的数据带有生命周期
cookies中的数据是按域存储隔离的,不同的域之间无法访问
cookies的内部的数据会在每次访问此网址时都会携带到服务器端,如果cookies过大会降低响应速度。

Cookies的使用-存储

存储示例

案例:

会话保持 - 登录流程


session定义

session是在服务器上开辟一段空间用于保留浏览器和服务器交互时的重要数据
实现方式:
  • 使用session需要在浏览器客户端启动cookie,且在cookie中存储sessionnid
  • 每个客户端都可以在服务器端有一个独立的session
  • 注意:不同的请求者之间不会共享这个数据,与请求者一一对应

session初始配置

settings.py中配置session
1、向INSTALLED_APPS列表中添加:
2、向MIDDLEWARE列表中添加:

session的使用

session对像是一个类似与字典的SessionStore类型的对象,可以用类似于字典的方式进行操作。
session能够存储如字符串,整型,字典,列表等
settings.py中相关配置项
注意:Django中的session数据存储在数据中,所以使用session前需要确保已经执行过migrate

Django session的问题

1、django_session表是单表设计;且该表数据量持续增持【浏览器故意删掉sessionid & 过期数据为删除】
2、可以每晚执行python3 manage.py clearsessions 【该命令可删除已过期的session数据】

session与cookies对比

session把数据存在服务器上,cookies把数据存在浏览器上
http://www.lryc.cn/news/31147.html

相关文章:

  • vue3的v-model指令
  • Matlab小波去噪——基于wden函数的去噪分析
  • 分布式对象存储——Apache Hadoop Ozone
  • Linux 和数据库笔记-03
  • 布尔定律---布尔代数的基本定律
  • OSG三维渲染引擎编程学习之七十五:“第七章:OSG场景图形交互” 之 “7.6 多视图”
  • 【计算机】单位制前缀的歧义-KB、kb、MB混用
  • nodejs调用浏览器打开URL链接
  • ARM uboot 的移植2-从三星官方 uboot 开始移植
  • js作用域和作用域链
  • C语言字符串
  • Eureka注册中心快速入门
  • xmu 离散数学 卢杨班作业详解【1-3章】
  • mvn命令
  • JS - 事件循环EventLoop
  • 【Java基础】30分钟Git 从入门到精通
  • 0100 MySQL03
  • 32- PyTorch基础 (PyTorch系列) (深度学习)
  • 用gdb.attach()在gdb下断点但没停下的情况及解决办法
  • Linux入门篇-作业(jobs)调度(本质仍然是进程)
  • vue 监听 取消监听
  • 0103深度优先搜索和单点连通-无向图-数据结构和算法(Java)
  • 进销存管理系统
  • Sonar:VSCode配置SonarLint/SonarLint连接SonarQube
  • 陀螺仪小车(Forerake-Car)
  • Leetcode Day5 含有重复元素集合的组合+
  • Mac Book pro(M1)使用总结
  • QML集成JavaScript
  • 学习周报3.5
  • java基础学习篇