每日一记:cookie、session和token

文章介绍了cookie、session和token在身份验证和会话管理中的作用。cookie存储在用户浏览器中,用于追踪用户活动;session在服务器端存储用户数据,依赖于服务器内存或数据库;token则是一种去中心化的身份验证机制,适合分布式系统。session在分布式环境中可能存在资源浪费,而token通过缓存(如redis)验证,解决了这一问题。

cookie、session和token是用于在互联网上进行身份验证和会话管理的重要概念。

Cookie是一种存储在用户浏览器中的小型数据文件,用于跟踪用户在网站上的活动。当用户访问一个网站时,服务器会发送一个包含cookie的响应头给用户的浏览器,浏览器会将cookie存储在本地。之后,每次用户访问该网站时,浏览器会自动将cookie从本地发送给服务器。通过读取cookie,服务器能够识别用户并提供个性化的服务,比如记住用户的登录状态、购物车内容等。
Session是一种在服务器上存储用户数据的机制。当用户访问一个网站时,服务器会为其创建一个唯一的session ID,并将session ID发送给浏览器。浏览器将session ID存储在cookie中,并在后续的请求中携带给服务器。服务器接收到session ID后,可以根据其找到对应的session数据,并读取、写入或删除其中的内容。通过session,服务器能够在用户每次请求中维护用户的会话状态,比如保存用户登录信息、购物车内容等。Session通常存储在服务器的内存或数据库中。
Token是一种用于身份验证和授权的令牌。与cookie和session不同,token是不依赖于服务器存储的机制。在身份验证的过程中,服务器将用户的身份信息加密后生成一个token,并将其发送给客户端。客户端在后续请求中携带该token,服务器通过解密token来验证用户的身份。由于token不存储在服务器中,可以被分布式系统共享,因此适用于跨域身份验证和授权场景。
综上所述,cookie、session和token都是互联网上常用的身份验证和会话管理机制。它们各有自己的特点和适用场景,开发者可以根据具体需求选择合适的机制。

自己乱写
session存到服务器里,第一次请求服务器的时候带上id密码,服务器底层生成一个id(身份标识)存好,下次再来请求的时候会去对比这个身份标识,对的话就让访问,这种适用于单体服务,因为分布式的话需要每个服务器都存一份这个身份标识,浪费资源;(每个服务器存一份解决不同的访问情况,或者粘性访问也可以解决【negix配置固定ip访问同一个服务器】)。
分布式用token解决sessionID这个浪费资源的问题,token可以存到缓存里,比如redis里面,每次访问服务器并不是直接访问服务器,而是去negix(负载均衡,反向代理)里面访问,negix里面配置好的ip端口,再去服务器里访问,访问前先去redis里面验证token,每台服务器都是如此,不用自己存,去缓存里验证token就行了,分布式也可以用session但是问题太多,所以只用token 1.session是单体服务常用的东西,通过cokkic发送至服务器,有请求体和请求头,请求头里面是id信息token,请求体里是参数这些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值