cookie 和session 的区别与理解

cookie 和session 的区别与理解

在我一个小白从网上查了一些资料之后对cookie和session有了一些见解。

  1. cookie是当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者,送出特定的网页内容给你。 Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cookie来辨认使用者,以方便送出使用者量身定做的内容,像是 Web 接口的免费 email 网站,都要用到 Cookie。具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。当客户端第一次发送请求给服务器的时候,此时服务器就产生一个sessionId并存入cookie中返回给客户端,但客户端再次访问的时候,请求携带cookie,这样就可以根据cookie里的sessionId来判断是否服务端有对应的session,如果存在则,身份验证成功,反之失败。我们可以发现,实际上Session是存入在服务器端的,而cookie是存入在客户端的。
  2. 还有就是两者的路径不同,Session不区分路径,同一个用户在访问同一个网站,在其他地方都可以使用,而cookie如果设定了路径的话,只能在作用域中有效。如果cookie所声明的作用域大于请求的所在资源时候,是需要附在HTTP请求Header上。
  3. 还有就是两者生命周期不同,如果不设定会话时间的话,cookie的生命周期在浏览器关闭结束,这种cookie可以称之为会话cookie,也是默认的cookie形式;另一种就是将cookie设定超时时间,存入磁盘,这样的话,称之为persistent cookie,当然一般不这么做这样可以通过cookie欺骗来攻击。而session存入在服务器端,而session数据存入服务器端,当用户请求服务端的时候,服务器通过请求中cookie携带的SessionId来检索相应的sesion,这样一来Session很安全。同时这里也阐释了但浏览器关闭的时候,并不会使得Session失效,因为Session是存在服务端的,只是Session cookie随着会话cookie在浏览器关闭后也失效。
  4. 我自己了解到的信息大概也就这些,可能太白了,学长讲的东西都有点蒙。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值