首页
学习
活动
专区
工具
TVP
发布

session和cookie 的区别

Session

Session 中文翻译结果为 会话,

session是一次浏览器和服务器的交互的会话

就是 从一个浏览器窗口打开到关闭这个期间

Session 在第一次被启用的时候,会创建一个session id 存储在本地cookie中

Eg: 比如某会所, 在原先没有会员卡管理系统的时候, 采用的是笔记本记录顾客会员信息, 会要求顾客填写 姓名, 以及手机号, 每次顾客报手机号, 会所就可用根据手机号查询到该客户的信息, 就可以进行消费,以及充值, 这个时候顾客所知道的就是他的手机号,**在session中可用理解为session id ,session会根据提供的id进行检索查询, 会所笔记本记录的信息,在session中可用理解为服务器端所记录的信息.**

cookie

cookie分为临时连接 和 持久性连接

临时的cookie 只在浏览器上保持一段规定的时间,一旦超过这个时间,则被清除

持续 cookie则保存在用户的文件中, 在下一次用户调用的时候,仍然可以对其进行调用

比如说在某些登录场景中,常常会遇到 7天内记住我, 记住密码, 或者记住账号等等 都是采用cookie来记录信息,

cookie是由服务器设置的, 存储在用户的文件中,但是HTTP协议是一种无状态的协议, 在数据交换完毕后,服务器端和客户端(浏览器)的连接就会关闭,每次数据交换都需要建立新的连接,

cookie 在客户端如果被清除, 则下次访问的时候需要重新生成新的cookie

Eg: 就好比如我们在某会所办了一张会员卡, 我们消费了多少,卡内余额还有多少, 点了什么套餐,会所都可以读取卡内信息进行查询,**会员卡所存储的信息就像是cookie存储在本地的信息,会所的后台就像是服务器端,Http协议就是交易消费的过程**.但是注意一点, 如果卡丢失, 且无法提供任何相关联信息,那么就无法进行余额,消费的查询

区别

>Session 是把数据存储在服务器端,会比较占用服务器资源

>Cookie 是把数据存储在浏览器端,可以长时间保留

针对cookie 存储在客户端, 就像是在访问一个网站的时候 服务器端给浏览器贴的小标签, 这个标签会记录浏览器上进行的操作, 用户在切换浏览器的时候cookie就会失效, 清理浏览器缓存的时候也可以被清除

针对session 则是 在服务器端保存 但是只执行一次 这个信息的话就像是 你跟他人打招呼, 你说你好, 他回复你一下你好, 然后就中断了, 称之为一次会话

由于cookie 采用的是在浏览器端存储,所以他人可以利用串改本地的cookie进行对服务器端的欺骗, 在安全性上面不如session.

但是也由于session是存储在服务器端的, 如果访问量增多, 会大量占据服务器性能.

session因为session id 的存在,通常要借助cookie实现, 但并非必要

>cookie 是一个实际存在的东西,http 协议中定义在 header 中的字段。

>可以认为是 session 的一种后端无状态实现。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180814G0B8O900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券