目录

HTTP的cookie与session

set-cookie与Cookie

session


只有认知的突破💫才能带来真正的成长💫编程技术的学习💫没有捷径💫一起加油💫 

🍁感谢各位的观看🍁欢迎大家留言🍁咱们一起加油🍁努力成为更好的自己🍁

HTTP的cookie与session

因为HTTP是无状态的,所以对于用户的信息是无法保存的。比如,你第一次看B站,你需要先登录,然后才能看视频。由于,HTTP是无状态的,不会保留你的登录信息,那么你每看一个视频都需要先登录,才能观看,这就很繁琐,大大降低观看体验。

所以,HTTP引用了Cookie(请求)和set-cookie(响应)属性。对于这种状态的保持,需要客户端和后端一起来保持,就不需要交给HTTP保持。

比如,你登录以后,后端接收到你的用户名和登录密码后,会通过set-cookie,返回给客户端。客户端收到返回的set-cookie值后,会以文件或内存级保存密码和用户名。再次请求后端的时候,客户端会自动读者文件或内存中的密码和用户名,设置到请求中的Cookie中,后端接收到请求后,再继续一系列的验证。

set-cookie与Cookie

  • set-cookie:是响应的属性,它的属性由后端设置。如下所示的格式。

Set-Cookie: username=peter; expires=Thu, 18 Dec 2024 12:00:00 UTC; path=/; 
domain=.example.com; secure; HttpOnly

它可以设置Cookie的有效时间。

  • Cookie:是请求的属性,它的属性由客户端自动设置。

session

session既不属于请求的属性,也不属于响应的属性。它是属于后端单独为请求创建的一个会话。

直接通过Cookie保留用户名和密码,是不安全的。

可以这样做:当用户请求的时候,在后端保留用户名和密码。采用key-value的方式,把用户名和密码看成一个整体(value),返回一个session ID(key)。把这个session ID设置到set-cookie中,让客户端保存这个ID即可。用户再次访问的时候,只需要把session ID设置到Cookie中,后端拿着这个session ID进行查找和对比。————这个采用key-value的方式,就是session。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐