COOKIE操作

COOKIE操作

cookie机制,是采用的是在客户端保持状态的方案
session机制,是采用的在服务器端保持状态的方案
概述:
会话控制用来保持用户的状态
原因:
http协议是无状态的协议,每一次链接都是一次新的会话

cookie值的存储

cookie存储在客户端浏览器上
一般会限制存储cookie的个数为20个(一个站点)
并且单个cookie 保存值大小不能超过4kb
存储在浏览器上为明文存储,所以不安全

描述cookie存储过程:

			请求
			客户端 ---》服务器

			设置cookie
			客户端 《--- 服务器

			带着cookie请求服务器
			客户端 ---》服务器

(1)设置cookie:

Reponse.set_cookie(
			key,键
			value,值
			max_age,多久后过期,时间为秒
			expires,过期时间,为具体时间
			path,生效的路径
			domain,生效域名
			secure,https传输时应设置为Ture
			httponly 仅http传输 不能使用js获取cookie
			)

实例:

def set_cookie(req):
	#实例化响应
	res = HttpResponse('设置cookie')
	# 设置cookie 名字为lucky
	res.ser_cookie('name','lucky')
	#相应(如果设置失败,查看一下,当前设置cookie的响应 是否进行了相应)
	return res
	路由:
	url(r'^set_cookie/$',test_cookie.set_cookie,name='set_cookie')

(2)设置cookie并设置过期时间
实例:

def set_cookie_lifetime(req):
	#实例化响应对象
	res = HttpResponse('设置cookie并设置过期时间')
	val = req.GET.get('name','lucky' )
	# 设置过期时间单位为秒
	#res.ser_cookie('name',val,max_age=20)
	res.ser_cookie('name',val,expires=30)
	return res
	路由:
	url(r'^set_cookie_lifetime/$',test_cookie.set_cookie_lifetime,name='set_cookie_lifetime')

(3)获取cookie
实例:

def get_cookie(req):
	#打印所有cookie值(包含所有cookie键值对字典)
	print(req.COOKIES)
	# 获取key为name的cookie值
	val = res.COOKIES.get('name')
	return HttpResponse('name的值为:{}'.format(val))
	路由:
	url(r'^get_cookie/$',test_cookie.get_cookie,name='get_cookie')

(4)删除cookie
实例:

def del_cookie(req):
	#实例化响应对象
	res = HttpResponse('删除cookie')
	# 删除key为name的cookie
	res.delete_cookie('name')
	# 可以通过再次设置的方式清除cookie(覆盖之前的name 刚设置完就死掉)
	res.ser_cookie('name',None,max_age=0)
	return res
	路由:
	url(r'^del_cookie/$',test_cookie.del_cookie,name='del_cookie')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值