对cookie和session的学习

我当时看这个协议是因为我学习cookie和session,引出了http和HTTPS协议我有文章会将

Cookie是什么

Cookie是为了辨别用户身份,进行会话跟踪,存储在客户端的数据
为什么要使用cookie?
HTTP协议是无状态的,对于事务处理没有记忆能力,服务器无法但从网络连接区分用户身份,cookie就类似于通行证,使用cookie后可以判断是当前用户是那个,来辨认用户状态。
Cookie的缺点:
CooKie只能保存少量数据(大约4k)
Cookie 只能保存字符串
Cookie可以被用户禁止
Cookie数据都在客户端,一旦被劫持信息会泄露,因为数据在客户端,服务器端无法验证,更容易伪造

安全性问题

1、 设置httponly防止跨站脚本攻击
2、 在HTTPS中设置secure加true使用,secure属性并不能对cookie内容加密,如果需要高安全性需要在程序中对cookie内容加密解密

Seeion是什么?

session是服务器端为了辨别客户端身份,进行会话跟踪,会在内存里开辟一快内存,这块内存就是session

session原理是什么?

当客户端访问服务器的时候,服务器会判断是否有相应的sessionid对应的session,如果没有session,会发送给客户端一个特有的sessionid,这个id的值是一个既不会重复,又不容易找到规律以仿造的字符串,服务器会发送一个session到客户端,同时服务器也会把sessionid和对应的信息,操作记录放到session里,客户端再次访问时通过sessionid找在服务器找到对应session的信息

Session的两种实现方式,

  1. List item

第一种是通过cookie实现:
第二种通过URL重写实现:当客户端不支持cookie是,将该用户的sessionid重写到URL地址值,服务器会解析sessionid
Session缺点:
占用服务器资源
Session存储大小数量没有限制
安全性问题:预防session被劫持

  1. sessionID的值只允许cookie设置,而不是通过URL重置方式,同时cookie的httponly为TRUE
  2. 在每个请求里面加上token,每次验证这个token,从而保证用户的请求都是唯一性
  3. 间隔生成新的sessionid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值