Cookie与Seesion的作用

1.什么是Cookie与Session?

  • cookie:首次访问服务器,服务器返回cookie置浏览器,存到用户电脑。之后去访问同一服务器,浏览器会携带相应cookie判断是否是同一浏览器的访问,告知两个请求来自同一浏览器。
  • cookie主要用于三个方面:会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)、个性化设置(如用户自定义设置、主题等)、浏览器行为跟踪(如跟踪分析用户行为等)
  • session:表示浏览器与服务器一次会话过程。存储在 Session 对象中的变量将不会丢失,如session过期、浏览器关闭、其会话中存有数据丢失。

2.Cookie和Session有什么不同?

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

3.Cookie和Session有什么关联?

  • Http请求默认是无状态的,浏览器访问服务器,服务器不知道是谁在访问,本次访问是否登陆,所以需要Cookie与Session配合使用,第一次访问服务器,服务器返回Cookie,服务器记录返回Cookie中的SeesionID,第二次请求携带Cookie进行访问,匹配服务器记录的SeesionID判断是哪个用户。

4.如果浏览器禁用Cookie怎么记录登陆状态?

  • 可以通过请求中带有SessionID=123123来让服务器获取到我们的SessionID。
  • Token机制,客户端与服务器交互,用户登陆服务器返回Token,以后每次访问客户端只需携带Token请求数据即可。

5.怎样实现分布式服务器Seesion共享?

  • 浏览器访问A服务器,服务器返回SeesionID,浏览器访问服务器B,B服务器没有记录该浏览器SeesionID,这时可以使用中间件来统一管理,保障访问到每台服务器Session共享。

6.如何解决跨域请求,JSONP跨域原理是什么?

  • 为了保证服务器安全,防止xss、crsf等攻击,浏览器有一种策略为同源策略,所谓同源是指,协议+域名+端口一致,只替换其一,也非同源。
  • 浏览器中<script><img><iframe>不受同源限制,解决跨域可以使用JSONP,服务器收到浏览器请求,返回一段javascript代码,代码包含回调函数,请求数据当作参数入参,当浏览器接收到javascript就会执行回调。

 

转载于:https://www.cnblogs.com/TTTTTZ/p/10955068.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值