Session和Cookie

解决问题:
  • HTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;

  • Session 和 Cookie 的主要目的就是为了弥补 HTTP的无状态特性。换句话说,服务器记不住你,可能你每刷新一次网页,就要重新输入一次账号密码进行登录。

Cookie:
  1. 判断两个请求是否来自于同一个浏览器(例如用户保持登录状态)

  2. 如果cookie的生存时间是整个会话期间的话,那么浏览器会将cookie保存在内存中,浏览器关闭时就会自动清除这个cookie

  3. 为什么是http的一个扩展?

    http头部是专门负责设置以及发送cookie的,它们分别是Set-Cookie以及Cookie。 当服务器返回给客户端一个http响应信息时,其中如果包含Set-Cookie这个头部时,意思就是指示客户端建立一个cookie,并且在后续的http请求中自动发送这个cookie到服务器端,直到这个cookie过期。

  4. 作用

    • 会话管理 登陆、购物车、游戏得分或者服务器应该记住的其他内容

    • 个性化 用户偏好、主题或者其他设置

    • 追踪 记录和分析用户行为

  5. 分类:

    1. 会话 Cookies会话 Cookie 有个特征,客户端关闭时 Cookie 会删除,因为它没有指定ExpiresMax-Age 指令。

    2. 永久性 Cookies 不会在客户端关闭时过期,而是在特定日期(Expires)特定时间长度(Max-Age)外过期。

session:

1:Session是服务器端使用的一种记录客户端状态的机制,是服务器端为客户端所开辟的存储空间。

  • 如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”确认客户身份

  • Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。

区别:
  1. cookie数据存放在客户的浏览器上,session数据放在服务器上。

  2. cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。

  3. session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。

  4. 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

  5. 可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值