cookie和session

实现状态保持的原理

在户登录时常常会涉及到用户登录的状态保持,来使得用户获得更好的体验。那么cookie和session就是为了实现状态保持的。整个实现状态保持的流程是这样的:
1.用户在登录时向后端服务器发送post请求,服务器接受请求,检验请求参数无误后,处理登录业务逻辑,返回响应。此时服务器端生成对应的cookie字符串,响应到前端浏览器。
2.浏览器本地保存cookie值。
3.在登录后用户再向服务器发送请求,则带者浏览器本地保存的cookie值,发送给服务器。4.服务器在接受到请求后,获取到请求参数(里面带有cookie),服务器把获取的cookie值跟之前服务器生成的cookie比较,发现cookie值相同,则默认时同一个用户再访问服务器,从而实现用户登录状态保持。

cookie和session的区别

  1. cookie和session都是基于键值对的字符串。
    2.两个都是都由后端服务器生成的。
    3.cookie字符串保存在客户端浏览器中,session值保存在服务器中,session比cookie更安全。
    4.我个人理解cookie相当于明文,而session类似于密文,是由后端服务器经过编码后的一段无序字符串。
    5.既然session是key-value格式的数据,则它的键session_id保存在cookie中的,值session_data保存在服务器,通过key来取到value;

如果客户端禁止 cookie 能实现 session 还能用吗

Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,禁用Cookie相当于失去了Session ID,也就得不到Session了。
假定用户关闭Cookie的情况下使用Session,其实现途径有以下几种:
(1)设置php.ini配置文件中的“session.use_trans_sid = 1”,或者编译时打开打开了“–enable-trans-sid”选项,让PHP自动跨页传递Session ID。
(2)手动通过URL传值、隐藏表单传递Session ID。
(3)用文件、数据库等形式保存Session ID,在跨页过程中手动调用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值