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

  • 相关阅读:
    [Python3网络爬虫开发实战] 3.1.3-解析链接
    pusher-http-go
    gopush-cluster 架构
    消息队列 redis vs nsq
    redis资料
    golang+websocket
    golang之flag.String
    Linux环境下安装mysql
    golang版的crontab
    golang实现wav文件转换为mp3文件
  • 原文地址:https://www.cnblogs.com/shiliuhuanya/p/12146595.html
Copyright © 2011-2022 走看看