温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中的cookie跟session有什么区别

发布时间:2021-08-24 12:01:40 来源:亿速云 阅读:137 作者:chen 栏目:编程语言

这篇文章主要介绍“python中的cookie跟session有什么区别”,在日常操作中,相信很多人在python中的cookie跟session有什么区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python中的cookie跟session有什么区别”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

      cookie和session 有什么区别?


  1、cookie 数据存放在客户的浏览器上,session 数据放在服务器上。


  2、cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,考虑到安全应当使用 session。


  3、session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。


  4、单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie。


  5、可以考虑将登陆信息等重要信息存放为 session,其他信息如果需要保留,可以放在 cookie 中。

  什么是 cookie,session 有什么区别?


  1、cookie 数据存放在客户的浏览器上,session 数据放在服务器上。


  2、cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,考虑到安全应当使用 session。


  3、session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。


  4、单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie。


  5、可以考虑将登陆信息等重要信息存放为 session,其他信息如果需要保留,可以放在 cookie 中。


  关于Cookie


  一、什么是Cookie


  Cookie是HTTP协议的规范之一,它是服务器和客户端之间传输的小数据。


  首先由服务器通过响应头把Cookie传输给客户端,客户端会将Cookie保存起来。


  当客户端再次请求同一服务器时,客户端会在请求头中添加该服务器保存的Cookie,发送给服务器。


  Cookie就是服务器保存在客户端的数据!


  Cookie就是一个键值对!!!


  二、 Cookie规范


  Cookie通过请求头和响应头在服务器与客户端之间传输;


  Cookie大小限制在4KB之内;


  一台服务器在一个客户端最多保存20个Cookie;


  一个浏览器最多可以保存300个Cookie;


  虽然Cookie规范是如此,但在今天,浏览器厂商的竞争异常激烈,所以多少会超出Cookie规则的限制。但也不会超出过多!


  关于Session


  一、什么是session


  在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。


  二、 session的原理


  session是依赖Cookie实现的。session是服务器端对象


  当用户第一次使用session时(表示第一次请求服务器),服务器会创建session,并创建一个Cookie,在Cookie中保存了session的id,发送给客户端。这样客户端就有了自己session的id了。但这个Cookie只在浏览器内存中存在,也就是说,在关闭浏览器窗口后,Cookie就会丢失,也就丢失了sessionId。


  当用户第二次访问服务器时,会在请求中把保存了sessionId的Cookie发送给服务器,服务器通过sessionId查找session对象,然后给使用。也就是说,只要浏览器容器不关闭,无论访问服务器多少次,使用的都是同一个session对象。这样也就可以让多个请求共享同一个session了。


  当用户关闭了浏览器窗口后,再打开浏览器访问服务器,这时请求中没有了sessionId,那么服务器会创建一个session,再把sessionId通过Cookie保存到浏览器中,也是一个新的会话开始了。原来的session会因为长时间无法访问而失效。


  当用户打开某个服务器页面长时间没动作时,这样session会超时失效,当用户再有活动时,服务器通过用户提供的sessionId已经找不到session对象了,那么服务器还是会创建一个新的session对象,再把新的sessionId保存到客户端。这也是一个新的会话开始了。


  三、session与浏览器


  session对象是保存在服务器端的,而sessionId是通过Cookie保存在客户端的。


  因为Cookie不能在多个浏览器中共享,所以session也不能在多个浏览器中共享。也就是说,使用IE登录后,再使用FireFox访问服务器还是没有登录的状态。


  而且同时打开多个相同浏览器的窗口,是在使用同一session。如果你使用的是老浏览器,例如IE6,那么就会每个窗口一个session。


  四、Session和Cookie的主要区别


  Cookie是把用户的数据写给用户的浏览器。


  Session技术把用户的数据写到用户独占的session中。


  Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。

到此,关于“python中的cookie跟session有什么区别”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI