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的主要内容,如果未能解决你的问题,请参考以下文章