07.会话跟踪技术cookie与session

会话跟踪技术cookie与session数据库

01.会话跟踪:会话路径技术使用Cookie或session完成:
  咱们知道HTTP协议是无状态协议,也就是说每一个请求都是独立的!
  没法记录前一次请求的状态。但HTTP协议中可使用Cookie来完成会话跟踪!
  在Web开发中,使用session来完成会话跟踪,session底层依赖Cookie技术浏览器

02.Cookie概述
  Cookie是由服务器建立,而后经过响应发送给客户端的一个键值对。
  客户端会保存Cookie,并会标注出Cookie的来源(哪一个服务器的Cookie)服务器

  Cookie规范:
    *Cookie大小上限为4KB;
    *一个服务器最多在客户端浏览器上保存20个Cookie;
    *一个浏览器最多保存300个Cookie
    *不一样浏览器之间是不共享Cookie的cookie

#设置cookie:key-value格式 response = HttpResponse("success") response.set_cookie("date",date) #获取cookie: request.COOKIES 删除cookie: response.delete_cookie("cookie_key",path="/",domain=name)

 

 

03.Django中的session语法

一、设置Sessions值
request.session['session_name'] ="admin"
二、获取Sessions值
session_name = request.session["session_name"]
三、删除Sessions值
del request.session["session_name"]
四、flush()
删除当前的会话数据并删除会话的Cookie。
这用于确保前面的会话数据不能够再次被用户的浏览器访问
五、get(key, default=None)
fav_color = request.session.get('fav_color', 'red')
六、pop(key)
fav_color = request.session.pop('fav_color')
七、keys()
八、items()
九、setdefault()
10 用户session的随机字符串
request.session.session_keysession

# 将全部Session失效日期小于当前日期的数据删除
request.session.clear_expired()dom

# 检查 用户session的随机字符串 在数据库中是否
request.session.exists("session_key")spa

# 删除当前用户的全部Session数据
request.session.delete("session_key")code

request.session.set_expiry(value)
* 若是value是个整数,session会在些秒数后失效。
* 若是value是个datatime或timedelta,session就会在这个时间后失效。
* 若是value是0,用户关闭浏览器session就会失效。
* 若是value是None,session会依赖全局session失效策略。blog

相关文章
相关标签/搜索