Django之cookie 和 session

Posted wf123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django之cookie 和 session相关的知识,希望对你有一定的参考价值。

一、

1、cookie的由来!!!

    由于HTTP协议是无状态的,既每一次的请求都是独立的,他不会因为你之前来过,就记住你,所以每次浏览器去访问服务器的时候,都是一个全新的过程,之前的数据也不会保留,所以为了解决这个问题,cookie诞生了。

2、什么是cookie?

    Cookie具体指的是一段小信息,他是服务器发送出来存储在浏览器一组键值对,下次访问浏览器时会自动携带这些键值对,以便服务器提取信息。简单来说就是,Cookie会在你访问服务器时给你一个标记,下一次你再来访问只要携带这个标记,就能够访问了。所以他只认标记,不认用户。用的最普遍的就是做登录系统。

3、Cookie的工作原理。

    原理:由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上Cookie,这样服务器就能通过Cookie的内容来判断是谁了。

4、查看cookie

技术分享图片

    Name 和 Value就是键值对

二、Djangoz中操作Cookie

  1、获取cookie   

request.COOKIES[key]
request.get_signed_cookie(key, default=RAISE_ERROR, salt=‘‘, max_age=None)

  参数:

    default:默认值

    salt:加密盐

    max_age:生命周期

  2、设置cookie

ret = render (request,html文件)
ret.set_cookie(key,value)
return ret

    通过set_cookie,这样就对ret 设置了cookie。

   参数:

      key:键

      value:值

      max_age=None,超时时间

      expires = None,超时时间,用于IE浏览器的

      path=‘/‘:Cookie生效的路径,/表示根路径,他比较特殊。根路径的cookie可以被任何url页面访问。

      domain = None,cookie生效的域名

      secure= False:https传输

      httponly = False:只能http协议传输,无法被javascript获取。(不是绝对的,底层抓包可以获取到,也可以被覆盖)

  3、删除cookie

以上是关于Django之cookie 和 session的主要内容,如果未能解决你的问题,请参考以下文章

Django之Session与Cookie

Django之cookie 和 session

[Django高级之cookie与session]

浅析Django之session与cookie

Django之cookie/session

Django之cookie与session