Cookie、Session、令牌

Cookie、Session、令牌
    1.会话
        用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话

    2.保存会话的两种技术
        服务端给客户端一个 信件,客户端下次访问服务端带上信件就可以了 cookie
        服务器登记你来过了,下次你来的时候我来匹配你 seesion
        cookie
            客户端技术(响应,请求)

        session
            服务器技术,利用这个技术,可以保存用户的会话信息

        优点
            存储在服务端,安全

        缺点
            服务器集群环境下无法直接使用session
            Cookie的缺点


    3.Cookie
        从请求中拿到cookie信息
        服务器响应给客户端cookie
            Cookie[]cookies =req.getcookies(); 获得cookie
            cookie.getName(); 获得cookie中的key
            cookie.getvalue(); 获得cookie中的vlaue
            new cookie("lastLoginTime",system.currentTimemi1lis()+"");  新建一个cookie
            cookie.setMaxAge(24*60*60);设置cookie的有效期
            resp.addcookie(cookie); 响应给客户端一个cookie

        cookie:一般会保存在本地的 用户目录下 appdata;
        细节
            一个Cookie只能保存一个信息
            一个web站点可以给浏览器发送多个cookie,最多存放20个cookie
            Cookie大小有限制4kb
            300个cookie浏览器上限

        删除Cookie;
            不设置有效期,关闭浏览器,自动失效
            设置有效期时间为 0

        编码解码
        优点
            HTTP协议中支持的技术

        缺点:
            移动端APP无法使用cookie
            不安全,用户可以自己禁用Cookie
            Cookie不能跨域


    4.Session
        服务器会给每一个用户创建一个Session对象
        一个Seesion独占一个浏览器,只要浏览器没有关闭,这个Session就存在 

    5.Session和cookie的区别
        Cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个)
        Session把用户的数据写到用户独占Session中,服务器端保存(保存重要的信息,减少服务器资源的浪费)
        Session对象由服务创建          

    6.JWT
        定义了一种简洁的、自包含的格式,用于在通信双方以json数据格式安全的传输信息。由于数字签名的存在,这些信息是可靠的
        Base64
            是一种基于64个可打印字符(A-Z  a-z  0-9  + /)来表示二进制数据的编码方式(= 补位符号)

        优点
            支持PC端、移动端解决集群环境下的认证问题减轻服务器端存储压力

        缺点
            需要自己实现

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: CookieSession Token 都是用来在客户端和服务端之间传递信息的工具。 Cookie 是一个小型文本文件,由浏览器存储在用户的计算机上。Cookie 可以用来存储用户的偏好设置,或者跟踪用户的浏览记录。Cookie 的信息会在用户的浏览器和服务器之间来回传递,因此它可以记录用户的活动状态。 Session Token 是一个用来识别用户的字符串。它通常被存储在服务器端,并且每当用户发起请求时都会附带这个 Session Token。Session Token 用来识别用户的身份,从而可以保存用户的状态信息。 CookieSession Token 的区别在于,Cookie 存储在用户的计算机上,而 Session Token 存储在服务器端。因此,Cookie 可以在用户的多个设备之间共享信息,而 Session Token 只能在单个设备上使用。另外,Cookie 信息可以在用户关闭浏览器后继续保存,而 Session Token 只能在用户的浏览器会话期间使用,一旦用户关闭浏览器就会失效。 ### 回答2: CookieSession和Token是常用于网络应用中的身份验证和状态管理的三种机制。 Cookie是一种在客户端存储数据的机制。当用户访问一个网站时,服务器会生成一个cookie并通过HTTP响应头中的Set-Cookie字段发送给客户端。客户端会将这个cookie保存在本地,每次访问该网站时都会在HTTP请求头中的Cookie字段中携带该cookie发送给服务器。服务器根据携带的cookie识别用户身份,从而实现用户认证和状态管理的功能。 Session是一种在服务器端存储数据的机制。当用户第一次访问一个网站时,服务器会为该用户创建一个唯一的session,并在服务器端存储该session对应的数据。服务器会生成一个名为sessionID的标识符,并将其通过cookie的方式发送给客户端,客户端保存该cookie。每次客户端访问服务器时,会在HTTP请求头的Cookie字段中携带该sessionID,服务器根据sessionID找到对应的session,并获取相关的数据。 Token是一种在客户端和服务器端之间传递信息的机制。相比于CookieSession,Token更为轻量级且无状态。当用户登录成功后,服务器会生成一个Token并返回给客户端。客户端将Token保存在本地,每次向服务器发送请求时都会在HTTP请求头中携带该Token。服务器验证Token的合法性后,识别用户身份,实现用户认证和状态管理的功能。 总结来说,Cookie是在客户端存储数据的机制,Session是在服务器端存储数据的机制,而Token是在客户端和服务器端之间传递信息的机制。它们各有优劣势,在实际应用中可根据需要选择合适的机制来实现身份验证和状态管理。 ### 回答3: CookieSession和Token都是用来维持Web应用程序的用户状态的工具,但它们之间有一些不同点。 1. Cookiecookie):是一种在客户端保存会话状态的机制。服务器通过在响应头中设置Set-Cookie字段,将包含用户信息的cookie发送给客户端,客户端会自动将该cookie保存在本地。下次用户再次访问该网站时,客户端会自动在请求头中将该cookie发送给服务器进行验证。Cookie通常用于维持用户的登录状态、个性化设置等。 2. Session(会话):是一种在服务器端保存会话状态的机制。服务器在用户第一次访问网站时生成一个唯一的session ID,并将该ID返回给客户端。客户端在以后的请求中通过在请求头中携带该session ID来维持会话。服务器通过session ID来检索保存在服务器端的用户信息,从而实现用户状态的管理。Session通常用于敏感信息的存储(如用户密码)以及用户跟踪等。 3. Token(令牌):是一种用于身份验证和授权的机制。当用户成功登录后,服务器会生成一个加密的令牌,将其返回给客户端。客户端在以后的请求中携带该令牌,在每次请求前都要经过服务器的验证。与CookieSession不同,Token不需要在服务器端保存任何用户信息,服务器只需通过解密Token来验证用户的身份和权限,从而实现跨越多个服务的认证和授权。 总的来说,Cookie是在客户端中保存状态的机制,Session是在服务器端保存状态的机制,而Token是一种便于跨服务认证和授权的机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-KaiS-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值