zoukankan      html  css  js  c++  java
  • session/cookie/token的区别

    1、Cookie

    (1)特点

    存储在浏览器上,一个浏览器可以存储的Cookie为200个,一个web的网站能设置的Cookie不能超过20个,Cookie的大小不能超过4K

    (2)执行的流程

      1、客户端发送HTTP请求到客户端
      2、服务端收到请求之后,会发送一个响应头到客户端,这个响应头就包含Set-Cookie的头部
      3、客户端发送第三次的请求(如果说服务需要我们发送一个Cookie的话,那么在第二次的过程中时,就会将上一次拿到的Cookie发送个服务端),提供了服务端可以识别客户端的信息。

    (3)持久化的Cookie和非持久化的Cookie  

      持久化的Cookie:可以存在于硬盘中,浏览器关闭的话,Cookie也是会存在的。

      非持久化的Cookie:存在与内存中,如果浏览器关闭的话,Cookie也会随之消失。

    2、Session

      Session存在于服务端,对于客户端来说是没有Session这个说法的

      当服务端与客户端进行连接的时候,服务端的Session就会转换为一个临时的Cookie发送给客户端

      如果是Session不存在的话,服务端就会创建一个Session

      如果存在的话,就会使用这个Session(当用户从网站的服务器上退出的时候,那么这个Session也会随之消失)。

      如果是服务器做了负载均衡的话,在不同的服务器上Session会失效,就要使用有些技术来实现Session的同步。

    3、token(与CAS单点登录联系)

    过程

    (1)用户第一次登陆的时候,服务端会产生一个token,token会存在于服务器的数据库上,然后将这个token返回给浏览器。

    (2)客户端收到token之后会将token存储在本地上

    (3)客户端再次发送请求的时候,会将token发送到服务器上

    (4)服务端收到这个token的时候会将token与本地的token进行比较,可以来验证身份。


    ————————————————
    版权声明:本文为CSDN博主「sunlichao123」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_40843624/article/details/88406644

  • 相关阅读:
    再不努力提高效率,小姐姐都被人追走了:K8S一键部署了解一下?
    Spring Cloud和netflix 提供的Eureka等组件之间的版本关系
    启动kafka保错:命令过长语法不正确
    SpringBoot2.0 Config客户端自动刷新时没有/bus/refresh端点
    springcloud config配置采坑 Could not resolve placeholder 'from' in value "${from}报错,巨坑!
    Windows 下安装RabbitMQ服务器及基本配置
    linux 查看日志
    spring 事务原理
    IDEA 配置
    python中给定两个列表,怎么找出他们相同的元素和不同的元素?
  • 原文地址:https://www.cnblogs.com/shiliuhuanya/p/12146595.html
Copyright © 2011-2022 走看看