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

django Session 中间件源码解析

时间:2018-08-26 22:02:37      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:style   图片   bsp   ima   时间   长度   标识   字符   超过   

前言

  什么是Cookie?

  cookie是保存在浏览器端的键值对,该键值对保存了以浏览器作为唯一标识的用户信息。对于通过了django用户认证的浏览器,默认会在浏览器中创建以sessionid为key,value是认证成功后用户的信息。技术分享图片

 

  什么是Session?

    Session与cookie成对存在,由于http协议无状态的原因,无法判断用户是否登录,因此使用cookie+session实现用户的登录认证。所不同的是,由于cookie只能在浏览器保存64字节长度的数据,而session的出现一方面是为了弥补cookie存储长度的限制,另一方面为了将用户信息也保存至服务器达到数据的安全性。简单来说,session是保存在服务端的键值对,该键值对的格式如下图所示:技术分享图片

  总结来说,当用户通过服务端的认证请求之后,服务端维护着一个由其随机生成的随机字符串,该字符串作为不同浏览器的唯一标识,只要是浏览器中的cookie没有超过超时时间,不同用户登录成功之后会对session_data中的数据执行更新操作,从而使以后浏览器再次访问本服务器,会携带sessionid和value作为用户信息进行访问,服务端以此与django_session表中的数据进行登录认证。

 

django Session 中间件源码解析

标签:style   图片   bsp   ima   时间   长度   标识   字符   超过   

原文地址:https://www.cnblogs.com/liuyinzhou/p/9539006.html

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