python中session的使用方法_python Cookie Session 相关用法

  • Post author:
  • Post category:python


Cookie

一.前言

1.http协议是无状态的.

无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响

应情况直接影响,也不会直接影响后面的请求响应情况.

2.cookie产生背景;

状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留。会话中产生的数据又是

我们需要保存的,也就是说要“保持状态”.

3.什么是cookie?

Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带

这些键值对,以便服务器提取有用信息。

4.cookie的原理:

由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上Cookie,这样服务器就能通过

Cookie的内容来判断这个是“谁”了。

5.cookie的劣势

Cookie虽然在一定程度上解决了“保持状态”的需求,但是由于Cookie本身最大支持4096字节,以及Cookie本身保存在客户端,可能被拦截或窃取

二.Django 中操作Cookie

1.获取Cookie

request.COOKIE[‘key’] 普通

request.get_signed_cookie(‘key’,default=RAISE_ERROR, salt=’ ‘,max_age=None)

get_signed_cookie方法的参数:

default: 默认值

salt: 加密盐

max_age: 后台控制过期时间

2.设置Cookie

rep = HttpResponse(…)

rep = render(request, …)

rep.set_cookie(key,value,…)

rep.set_signed_cookie(key,value,salt=’加密盐’,…)

参数:

key, 键

value=”, 值

max_age=None, 超时时间

expires=None, 超时时间(IE requires expires, so set it if hasn’t been already