Cookie、Session复习
1.什么是Cookie?
Cookie是储存在用户浏览器中的一段纯文本信息,建议不要储存密码的信息,容易被其他人使用。
2.Cookie的特点?
- Cookie是以键值对的格式进行信息的储存
- Cookie基于域名安全,不同域名的Cookie是不能相互访问的
- 当请求某网站时,会将浏览器的网站相关的所有Cookie信息都提交给网站服务器
3.Cookie的基本使用方法
- 设置Cookie
#可以通过HttpResponse对象中的set_cookie方法来设置cookie HttpResponse.set_cookie(cookie名, value=cookie值, max_age=cookie有效期) 例如: def cookie(request): response = HttpResponse('ok') response.set_cookie('name', 'python1') # 临时cookie response.set_cookie('nick_name', 'python2', max_age=3600) # 有效期一小时 return response
- 读取Cookie
# 可以通过HttpResponse对象的COOKIES属性来读取本次请求携带的cookie值 request.COOKIES 为字典类型 例如: def cookie(request): nick_name = request.COOKIES.get('nick_name') return HttpResponse('ok')
- 删除Cookie
# 通过HttpResponse对象中的delete_cookie方法删除 response.delete_cookie('nick_name')
4.什么是Session?
- 保存在服务器的数据库和内存中(也给用户浏览器的Cookie中储存了对应的键值对)
- 给用户Cookie中储存一个随机字符串
5.Session基本操作
通过HttpRequest对象的session属性进行会话的读写操作
- 一键值对的格式写session
request.session['键'] = 值
- 根据键读取 值
request.session.get('键')
- 清除所有session,在储存中删除值部分
request.session.clear()
- 清除session数据,在储存中删除session的整条数据
request.session.flush()
- 删除session中的指定键及值,在储存中值删除某个键及对应的值
del request.session['键']
- 设置session的有效期
request.sesssion.set_expory(value)
6.Cookie和Session的区别?
- Cookie只保存在客户端的浏览器中
- Session需要依赖于Cookie
- Session保存在服务器的数据库或者内存或者文件,都行