HTTP之cookie, session, token

本文详细讲解了HTTP中的cookie、session和token的概念及其使用。cookie主要用于会话管理,如保持登录状态,但存在安全性及存储量有限的问题。session数据存储在服务器端,保证了安全性,但面临session跨服务器问题。token作为现代认证机制,减轻了服务器查询数据库的负担,且不受cookie或session限制。文章还介绍了查看cookie信息的方法以及基于cookie和session的登录验证流程。
摘要由CSDN通过智能技术生成

cookie 指的就是浏览器里面能永久存储的一种数据

HTTP cookie(Web cookie,浏览器cookie)是服务器发送到用户Web浏览器的一小段数据。 浏览器存储它并将其与下一个请求一起发送回同一服务器。 通常情况下,它用于判断两个请求是否来自同一个浏览器 - 例如,保持用户登录。 它记住无状态HTTP协议的有状态信息。

1.HTTP cookies的3种用途

会话管理

这个是设计cookies的核心原因,前面我们介绍了HTTP协议是无状态的。但是我们如果都无状态,那么登录不了,添加不了购物车。会话管理用途使用场景有:保持登录状态,购物车,游戏分数,或者其他任何服务器想要记住的信息。

个性化
例如有些应用程序,用户登录之后可以设置皮肤,主题和其他首选项。

跟踪
纪录和分析用户行为,当今AI,大数据时代,这是很常见的。

cookies原来一般都是作为一个临时文件存储在客户端本地,为了安全性考虑,现在存本地的越来越少,很多都是通过API存这些数据,每次发送请求都cookies添加到API中。所以,cookies只能存少量数据,这种请求带上cookies内容可能造成性能上问题。

2.Cookies是如何创建的

当收到HTTP请求时,服务器可以发送带响应的Set-Cookie标头。 Cookie通常由浏览器存储,然后通过向Cookie HTTP标头内的同一服务器发出请求来发送cookie。 可以指定到期日期或持续时间,之后不再发送cookie。 此外,可以设置对特定域和路径的限制,从而限制cookie的发送位置。

这段话可能有点不好理解,我们拆开来

1)cookies是服务器创建的,在响应中通过头字段 Set-Cookie来发送给客户端

2)一般是浏览器收到这个cookie,以临时文件或者其他手段存储到本地

3)客户端下次请求时,带上cookies

4)cookies可以设置有效期,例如半小时,一天࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值