大家好,这里是教授.F
引入:
我们想在登录一个网站时,能够显示我们上一次的登录时间啊,或者我们在该网站的浏览痕迹。哪这些要怎么做到?我们想,这些数据不可能从服务端给你返回来,因为一旦用户多了,对服务器的要求太大。所以就要有一种技术来实现能否在浏览器中给你返回这些数据,也就是能不能将这些数据放在浏览器中。这就是客户端存储数据技术。
流程:
当用户第一次登录网站时,服务端响应式会携带cookie,浏览器会接收。
下一次提交登录信息的时候,客户端在请求的时候会携带该cookie,返回给服务端,这样服务端和客户端就建立器一个会话状态。
补充:
与cookie相关的技术还有JSESSIONID,他是在创建cookie会话时,唯一对应的标识符。可以根据这个标识符来:
- 会话跟踪:通过JSessionID,服务器可以跟踪用户在应用程序中的会话状态,例如登录状态、购物车内容等。
- 状态管理:JSessionID允许服务器在会话期间存储和检索用户的状态信息,以便为用户提供个性化的体验。
- 安全性:JSessionID可以用于实现安全措施,如防止会话劫持或会话固定攻击。
如果我们保存用户的爱好啊,统计网站用户信息,我们就可以获取cookie来统计。
注意这里的JSESSIONID也可以完成这样的业务,但是呢,JSESSIONID通常在用户关闭浏览器时会被删除,因此它主要用于维护用户在当前会话期间的状态信息。所以我们还是常用cookie来统计。
生命周期:
生命周期是通过setMaxAge()来设置的:
● 正数,表示在指定的秒数后过期
● 负数,表示浏览器关闭,
Cookie
就会被删除(默认值是
-1)
● 0
,表示马上删除 Cookie
注意
这个时间是谁来计算:是根据浏览器创建的时间来计时。
本质上是浏览器发送请求时不再携带cookie信息了。
有效路径:
我们可以通过设置cookie的请求地址,来过滤哪些cookie会被发送,哪些不会。如下: