Cookie
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可以设置有效期,例如半小时,一天