zoukankan      html  css  js  c++  java
  • 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: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语法

    1、设置Sessions值
    request.session['session_name'] ="admin"
    2、获取Sessions值
    session_name = request.session["session_name"]
    3、删除Sessions值
    del request.session["session_name"]
    4、flush()
    删除当前的会话数据并删除会话的Cookie。
    这用于确保前面的会话数据不可以再次被用户的浏览器访问
    5、get(key, default=None)
    fav_color = request.session.get('fav_color', 'red')
    6、pop(key)
    fav_color = request.session.pop('fav_color')
    7、keys()
    8、items()
    9、setdefault()
    10 用户session的随机字符串
    request.session.session_key

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

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

    # 删除当前用户的所有Session数据
    request.session.delete("session_key")

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

  • 相关阅读:
    BZOJ 1008 [HNOI2008]越狱
    BZOJ 1588 [HNOI2002]营业额统计
    20170520 DP阶段总结
    HDU 3507 Print Article
    浅谈随机数生成器及其应用
    BZOJ 1010 [HNOI2008]toy 玩具装箱
    斯堪福三定律
    这是我在博客园上的第一篇博客
    微博粉丝服务---“公众号”开发
    XML解析---利用XStream解析xml数据及反构造Java对象
  • 原文地址:https://www.cnblogs.com/QQL-anatkh/p/9597626.html
Copyright © 2011-2022 走看看