1、http的无状态性
互联网的古时候服务器是不能区分同一个用户的多次请求
2、cookie 技术
最早是网景公司提出的
操作cooker
总结:
- 获取客户携带的cooker,通过request对象的COOKIES属性,它是一个python的字典。
- 设置cookie,通过response的set_cookie方法
set_cookie(key,value='',max_age=None,expires=None) #key value都是字符串
#expires是一个过期的字符串,格式是“Wdy,DD-Mon_YY HH:MM:SS:GMT”,或者是一个datetime.datetime UTC时间对象
- 删除cookie通过response对象的delete_cookie(key):指定删除cookie
3、session技术
因为考虑到数据存储在客户端不安全,所以就保存到服务端,以此session便出世了
- 会话:一次会话,从用户打开浏览器访问某个网站,直到他停止访问,关闭浏览器,这叫一次会话。会话技术将一次会话期间的http请求联系到一起的技术
- 原理:每个用户第一次访问服务器的时候,服务器通过cookie技术,为每一个客户分配一个独一无二的随机字符串用来标记用户,然后服务器为每一个用户保存需要记录的信息,进行业务处理,这个信息就是session信息
Django操作session
获取session,request.session 属性。类字典对象
- get(key,default=None):根据键来获取会话的值
- clear():清除所有的会话数据
- flush():清除当前的会话数据,并且删除绘画的cookie,一般在退出的时候用
- set_expiry():设置会话过期时间,本质上就是设置会话cookie的过期时间