美文网首页生活不易 我用python《Django By Example》
Django中的几种会话技术小结(cookie、session、

Django中的几种会话技术小结(cookie、session、

作者: 佐卡ww | 来源:发表于2018-07-28 14:56 被阅读19次

    ## 一次请求的周期

        - 客户端向服务器发送数据  Request

                  - 主动操作

        - 服务端向客户端发送数据  Response

                  - 响应操作

                  - 没有请求,就不会有响应

        - 从Request 到 Response结束

    ### 会话技术

    - 为什么出现,有啥作用?

      - 因为Http协议是一个无状态协议,两次登录之间没有任何联系,想让它们之间有关系,就有了会话技术。

      - 相当于变相延长了请求周期

      - 保存了用户的关键信息

    (1)客户端会话技术——cookie

      - 数据存储在客户端的

      - 数据存储形式是: key-value,也就是键--值的格式。

      - Cookie隔离

                - 不同的域名、不同的ip之间cookie是隔离的,不可能你在这个浏览器登录之后,另一个浏览器会有记录。

                - 游戏浏览器

     - 支持过期时间

                 - 默认关闭浏览器即失效

                 - max-age 指定过期时间,默认单位是秒,这样关闭浏览器也不会失效。

                 - None 不过期

                 - experis 时间戳

    (2)服务端会话技术——session

      - 数据存在服务器

      - Session依赖于Cookie

     - Session存储

                  - Session存储在内存中

                  - Django里将Session持久化到数据库中了

      - django_session表中存在三个字段

                  - session_key 主键

                  - session_data 数据,使用BASE64编码做了一个简单的数据安全

                  - session_experis  过期时间,django中默认两周

    - Session 退出

                  - 删 cookie

                  - 删 session

                  - 两个一起彻底删掉

    #### Cookie 和 Session区别

    - 数据存储位置不一样

    - Session相对来说更安全

                  - Cookie 传输明文,相对来说不安全

    - Cookie默认不支持中文

      - 编码解码

    - Session 依赖于Cookie

    (3)服务端会话技术——Token  (自定义的session)

    - 服务端会话技术

    - 自定义的Session

      - 主要用在移动端

      - 如果Token用在Web上,建议还是使用Session

      - 如果用在专属客户端上,我们建议手动管理Token

    - Token用法

      - 直接在用户表中添加一字段,字段用来存储用户的Token值

      - 将Token存储在缓存中

    #### 用户系统

    - 用户中心

    - 用户注册

    - 用户登录

    - 用户退出

    #### MD5(哈希算法的一类)

    - 是一种信息摘要算法,常用在信息安全领域,它是把信息处理成长度固定的数据。

    - 特性

                  - 单向不可逆

                  - 输出长度固定,是128位的二进制

                  - 为了人们可以看懂,转化成了Unicode码, Unicode码存储的时候是十六进制,所以是32位Unicode码,也就是32位的字符串

                  - 抗爆破能力强

                  - 原数据只要发生任何变更,md5都会发生很大的变化

    #### 扩展:

    - 使用Cookie存储中文

    相关文章

      网友评论

        本文标题:Django中的几种会话技术小结(cookie、session、

        本文链接:https://www.haomeiwen.com/subject/wyyomftx.html