cookie和session
Posted zhangqianxi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie和session相关的知识,希望对你有一定的参考价值。
cookie和session的概念
1.cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是嘶个了。cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB.因此使用cookie只能存储一些小量的数据。
2.session:session和cookie的作用有点类似,都是为了存储用户相关的信息,不同的是,cookle是存储在本地浏览器而session存储在服务器,存储在服务器的數据会更加的安全,不容易被窃取。但存储在服务器也有一定的弊端,就是会占用服务器的资源,但现在服务器已经发展至今,一些session信息还是绰绰有余的。
3.cookie和session结合使用:web开发发展至今,cookie和session的使用已经出现了一些非常成熟的方案,在如今的市场或者企业里,一般有两种存储方式:
,存储在服务端:通过cookie存储一个session-id,然后具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个session-id,下次再次请求的时候,会把该session-id携带上来,服务器根据sessionid在session库中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。这种专业术语叫做 server side session
,将session数据加密,然后存储在cookie中。这种专业术语叫做client side session,flask采用的就是这种方式,但是也可以替换成其他形式
简述cookies和session的区别
1、数据存放位置不同:
cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、安全程度不同:
cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。
3、性能使用程度不同:
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
4、数据存储大小不同:
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie,而session则存储与服务端,浏览器对其没有限制。
以上是关于cookie和session的主要内容,如果未能解决你的问题,请参考以下文章