Session和Cookie的定义和区别

cookie和session的定义

Cookie是服务器发送到用户浏览器,并保存在浏览器本地的一小块文本串数据。它会在浏览器下次向同一服务器再发起请求是,被携带发送到服务器。通常它用于告知服务器两个请求是否来自同一浏览器,一样用于保持用户的登陆状态等。Cookie使基于无状态的HTTP协议记录稳定的状态信息成为了可能。

session指的就是服务器和客户端一次会话的过程。Session利用Cookie进行信息处理的。当用户首先进行了请求后,服务端就在用户浏览创建了一个cookie,当这个session结束时,其实就是意味着这个cookie就过期了。Session对象存储着特定用户会话所需要的属性及配置信息。

cookie和session的不同

  • 存储位置不一样,Cookie 保存在客户端,Session 保存在服务器端。
  • 存储数据类型不一样,Cookie 只能保存ASCII,Session可以存任意数据类型,一般情况下我们可以在 Session中保持一些常用变量信息,比如说 Id 等。
  • 有效期不同,Cookie 可设置为长时间保持,比如我们经常使用的默认登录功能,Session 一般有效时间较短,客户端关闭或者Session 超时都会失效。
  • 隐私策略不同,Cookie 存储在客户端,比较容易遭到不法获取,早期有人将用户的登录名和密码存储在 Cookie中导致信息被窃取;Session 存储在服务端,安全性相对 Cookie 要好一些。
  • 存储大小不同, 单个Cookie保存的数据不能超过4K,Session可存储数据远高于 Cookie。

在这里插入图片描述

用户第一次请求服务器时,服务器根据用户提交的信息,创建对应的Session ,请求返回时将此Session的唯一标识信息 SessionID返回给浏览器,浏览器接收到服务器返回的SessionID信息后,会将此信息存入Cookie 中,同时 Cookie 记录此SessionID 属于哪个域名。

当用户第二次访问服务器时,请求会自动判断此域名下是否存在Cookie信息,如果存在,则自动将Cookie信息也发送给服务端,服务端会从Cookie中获取SessionID,再根据 SessionID 查找对应的 Session 信息,如果没有找到说明用户没有登录或者登录失效,如果找到Session 证明用户已经登录可执行后面操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值