首页 > 其他分享 >cookie、session、token

cookie、session、token

时间:2022-10-15 01:33:07浏览次数:46  
标签:请求 token session Cookie cookie 客户端

为什么要用Session和Cookie?

  • 因为 Session 和 Cookie 可以记录用户状态信息
  • 其实说到底,cookie、session、token 都围绕了一个点:身份认证。

 

为什么要认证

  • 一个需要登录的动态网站,在登录后需要保持登录状态,以便后续访问网站其他网页

 

HTTP是无状态协议

  • 已经登录过的用户没法通过协议层把状态保存下来,所以下次再请求的时候,服务器还是不知道你是谁。

 

无状态导致的后果?

  • 意味着后续发出的请求需要处理前面请求的响应,则必须重传

 

Session

  • 当服务器收到登录请求之后,生成一个 session id 一起返回给客户端,客户端下次再请求的时候把 session id 一起带上。这时候每个客户端请求对应各自的 session id ,服务就知道怎么区分了。

 

  • 而客户端与服务器之间的会话,一般会使用 Cookie 来管理。
  • 服务在向客户端返回响应时,会在首部字段Set-Cookie内写入 Session ID(如 PHPSESSID=028a8c…)。
  • 客户端接收到从服务器端发来的 Session ID 后,会将其作为 Cookie 保存在本地。

 

产生的问题

  • 由于服务器也要保存这 session信息用于跟客户端传过来的进行比对,数量小了还好,请数量大了,服务器要保存的内容页就越多,会吃不消。
  • session认证本质基于cookie,所以如果cookie被截获,用户很容易收到跨站请求伪造攻击。并且如果浏览器禁用了cookie,这种方式也会失效

 

Token

  • 服务端可以不用保存 token。
  • 当第一次收到客户端传过来的用户名和密码时,服务器认证通过后,通过加密算法生成一个字符串当做 token。当拿到后续请求中的 token,服务器再解析这个token,可以从中获取关键的信息,从而判断该token的有效性。

 

优点:

  • 无状态,可以更方便扩展
  • 更安全,可以防止跨站请求伪造 CSRF
  • 方便多平台跨域
  • 可以标准化,比如基于JWT Json web token (JWT)

标签:请求,token,session,Cookie,cookie,客户端
From: https://www.cnblogs.com/QingshanY/p/16793444.html

相关文章

  • 自定义Token校验注解 #4
    自定义Token校验注解#4感觉挺厉害的自定义Token校验的注解,给不是很懂AOP的我上了一课。代码实例TokenValidate注解/***@authorcynic*@Description:token......
  • OAuth,Token和JWT
    什么是OAuth?也就是说OAuth是一个开放标准,提供了一种简单和标准的安全授权方法,允许用户无需将某个网站的用户名密码提供给第三方应用就可以让该第三方应用访问该用户在......
  • php 中 session存储
    转载网址:https://blog.csdn.net/miliu123456/article/details/107048378/php中session更换存储方式(file,redis,mysql)在当前php的配置文件中修改 查看当前......
  • Session用法案例 -->实现简单购物车功能(实际项目可能不会这么使用)
    071201709091、session是在cookie的基础之上,利用cookie返回JSESSIONID(key[服务器随机生成])存在客户端实现,正真的数据存在服务端[key-value]。2、se......
  • Cookie用法案例-->自动登陆
    070201709071、cookie是浏览器保存数据的一种形式,数据由服务端产生,通过响应头(setCookie)把数据写入cookie中,浏览器接受到数据后,浏览器将服务器发来......
  • 前端get请求怎么携带token
    有时候,get请求也需要携带token怎么办,比如请求借口到处excel数据,后端是通过当前用户信息进行校验的,普通的window.open又不方便携带请求头等信息此时就需要额外的处理了这......
  • token机制详解,JWT的使用
    cookie,session、token介绍参考文章:https://www.cnblogs.com/liuqingzheng/p/8990027.htmlcookie:存储在用户端的一-小段文本,用于服务器识别用户的一种技术。cookie是......
  • cookie,session,token介绍,jwt原理介绍,base64编码和解码,drf-jwt快速使用,drf-jwt修改返
    1.cookie,session,token介绍这三者之间是有联系的,在互联网发展初期先有了cookie,在发展的过程中,因为出现了登录,还有购物车等功能,这是http的请求是无状态的,这是要解决这个问......
  • JWT Token解析
    参照:c#中token的使用方法实例_C#教程_脚本之家(jb51.net)(7条消息)JWT算法_み旋律的博客-CSDN博客_jwt算法......
  • Java--字符串使用StringTokenizer来分割字符,由小写转大写,由大写转小写
    我们再来看看Java的字符串分割另外一种方法,使用StringTokenizer 可以使用StringTokennizer设置不同分隔符来分隔字符串,其默认的分割符是:空格"",制表符(\t),换行符(......