码迷,mamicode.com
首页 > 其他好文 > 详细

Session和Cookie

时间:2019-10-25 20:37:37      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:python   域名   成功   响应   删除cookie   过期   ssi   有效期   http   

Session

保存在服务器端
依赖于cookie

第一次请求 浏览器cookie中没有任何信息
当我们的服务器接受到这个请求之后 进行验证 验证没有问题可以设置session信息
在设置session信息的同时(session信息保存在服务器端)服务器会在响应头中设置一个 sessionid 信息给浏览器 浏览器会把session这个cookie信息保存起来

第二次请求 浏览器携带sessionid信息
当服务器接受到这个请求之后 会获取到sessionid信息 然后进行验证
验证成功 则可以获取 session信息(session信息保存在服务器端)

简言之 服务器在浏览器初次访问时给与浏览器一个叫sessionid的cookie,浏览器每次依据这个访问服务器 服务器由这个id找到服务器上的关于该浏览器的访问数据

 

Cookie

cookie信息保存在浏览器
cookie是基于域名的

1 第一次浏览器请求头里没有cookie信息
2 服务器发现你没有cookie信息 为了保持浏览的连贯性
3 就给你设置了一个cookie信息 响应头里有set_cookie
4 之后浏览器浏览就会在请求头里携带cookie信息

可以设置过期时间
设置Cookie

可以通过HttpResponse对象中的set_cookie方法来设置cookie。

HttpResponse.set_cookie(cookie名, value=cookie值, max_age=cookie有效期)
max_age单位为秒,默认为None 。如果是临时cookie,可将max_age设置为None。
示例:

def cookie(request):
response = HttpResponse(‘ok‘)
response.set_cookie(‘itcast1‘, ‘python1‘) # 临时cookie
response.set_cookie(‘itcast2‘, ‘python2‘, max_age=3600) # 有效期一小时
return response
2 读取Cookie

可以通过HttpResponse对象的COOKIES属性来读取本次请求携带的cookie值。request.COOKIES为字典类型。

def cookie(request):
cookie1 = request.COOKIES.get(‘itcast1‘)
print(cookie1)
return HttpResponse(‘OK‘)
3 删除Cookie

可以通过HttpResponse对象中的delete_cookie方法来删除。

response.delete_cookie(‘itcast2‘)

Session和Cookie

标签:python   域名   成功   响应   删除cookie   过期   ssi   有效期   http   

原文地址:https://www.cnblogs.com/xujin247/p/11740384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!