HTTP是无状态的,也就是说你这次访问了服务器,关闭网页,再次访问服务器,服务器是没有意识到又是你来访问,那怎么保持登录状态呢?
设置让用户可以选择记住用户名和密码,但是把密码交给浏览器,如果电脑被黑了,浏览器里记录的信息就会很危险, 即使我们自己不需要亲自输入用户名密码,浏览器还得想办法帮我们在每一次请求里加入用户名密码,这项技术就是cookie
cookie的基本流程:浏览器发起HTTP请求,服务器会进行cookie设置,也就是set-cookie,cookie发给浏览器之后,浏览器会保存起来,这样浏览器以后发送的每一个请求都会自动附上这个cookie,我们打开浏览器是可以看到保存了哪些cookie,也就是说如果把用户名和密码放在cookie是很不安全的,只要电脑被黑,在cookie里的重要信息就会被泄漏,于是就有了新的技术session
如果有多台服务器,一台服务器存储了sessionid,又面临需要分享session id给其他服务器
jwt json web token
http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html(阮一峰)
header.payload.signature
算法 特定数据(有效期) 签名
使用方式
方式一
放在HTTP请求头信息的Authorization字段,使用Bearer模式添加JWT
方式二
放在post请求的数据体里
方式三
通过url传输
生成的token客户端以cookie或者storage的方式进行存储,cookie需要解决跨域问题
token和jwt的区别
token:服务端验证客户端发送过来的token时,还需要查询数据库获取用户信息,然后验证token是否有效
jwt:将token和payload加密后存储于客户端,服务端只需要使用密钥解密进行校验即可,不需要查询或者减少查询数据库,因为jwt自包含了用户信息和加密的数据。
如何保证token在客户端的安全性?
header和payload的信息会被base64编码,虽然jwt不保存在服务器这里,但是服务器需要保存一段密码,这段编码需要结合着两段编码进行算法运算,最终得到签名信息。这里使用的算法就是刚刚header声明的算法,签名的信息也就是signature部分了,这样一个完整的jwt就可以发给客户端了
如何解决跨域问题?
nginx代理跨域
nginx反向代理,通过配置一下参数
在go中,跨域中间件也是通过配置请求头参数

cookie、session、Token究竟区别在哪?如何进行身份认证,保持用户登录状态?相关推荐

  1. expires为session_面试必问:session,cookie和token的区别

    点击上方蓝字关注我们 ! session,cookie和token究竟是什么 简述 cookie,session,token作为面试必问题,很多同学能答个大概,但是又迷糊不清,希望本篇文章对大家有所帮 ...

  2. 2、cookie session token详解

    cookie session token详解 转自:http://www.cnblogs.com/moyand/ 发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, ...

  3. Cookie Session Token 与 JWT 解析

    首先先了解一些关键词 认证.授权与凭证 什么是认证(Authentication)? 通俗地讲就是 验证当前用户的身份是否合法的过程,即你是谁?证明"你是你自己"(比如:你每天上下 ...

  4. Asp.Net使用加密cookie代替session验证用户登录状态 源码分享 欢迎拍砖

    小论坛地址: http://rayyu.5d6d.com/thread-9444-1-1.html 正文: 首先 session 和 cache 拥有各自的优势而存在.  他们的优劣就不在这里讨论了. ...

  5. cas如何实现多系统间的相互认证_统一身份认证和单点登录的区别

    首先大家会遇到这样一个问题,统一身份认证和单点登录的概念是什么? 百度百科对统一身份认证的定义 所谓身份认证,就是判断一个用户是否为合法用户的处理过程.最常用的简单身份认证方式是系统通过核对用户输入的 ...

  6. uni 登录token方法_uni-app 中保持用户登录状态

    在应用中保持登录状态是一个应用常见的需求,本文简单介绍下在 uni-app 中如何保存用户登录状态. 简介 uni-app 中不支持读写 cookie,所以不能如传统的应用那样通过读取 cookie ...

  7. JavaWeb中使用session保持用户登录状态

    使用session保持用户登录状态 // 登录 成功// 保存用户登录的信息到Session域中req.getSession().setAttribute("user", logi ...

  8. cookie session token区别_彻底理解cookie,session,token

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者: 墨颜丶 cnblogs.com/moyand/p/9047978.html 发展史 ...

  9. cookie session token区别_cookie、session与token的真正区别

    发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记 ...

最新文章

  1. Swift类与OC类方法相互调用的
  2. 走近TCP/IP协议
  3. ArduinoYun教程之配置Arduino Yun环境
  4. 【UVA11324】The Largest Clique (SCC)
  5. 编写一个函数,输入n为偶数时,调用方法求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n...
  6. 计算机专业课的教学准备,计算机专业课程教学中的分层教学模式
  7. LeetCode——二叉树序列化与反序列化
  8. SQLite指南(0) 表和索引的文件存储结构
  9. 蓝桥杯 ADV-90 算法提高 输出日历
  10. c语言编程无法生成dat文件格式,c++ - 无法从.dat文件读取数据(从Simulink创建的VS2012 C ++项目) - 堆栈内存溢出...
  11. AJAXSUBMIT跨域问题
  12. 时间一天天过去,好像什么都没变。
  13. 工具网站:10个国外免费、无版权、高清图片素材站
  14. 如何清空Matlab命令行窗口
  15. 读《股票大作手操盘术》— 利弗莫尔操作法则
  16. rstp 小米网络摄像头_小蚁摄像头实时同步视频到群晖 nas(2)—— 使用 rtsp 协议同步...
  17. 天线口径与传输速度_如何使用口径将任何电子书传输到Kindle
  18. python中,获取设备网卡接口(ethx, mgmt)
  19. java电脑中可以删除吗,电脑中c盘cflog是什么文件夹?是否可以随意删除
  20. 如何改进项目的经验教训总结会

热门文章

  1. A NIR-to-VIS face recognition via part adaptive and relation attention module阅读笔记
  2. Mentor和Coach的不同
  3. Vue02基础语法-插值+过滤器+计算属性+计算属性
  4. Pytorch和Tensorflow在10000*1000数据规模线性回归算法中的运算速度对比
  5. 2020-12-24 如何编写一个简单的双均线策略
  6. 【uniapp】支付宝小程序蓝牙绑定步骤兼容ios蓝牙连接,并报 10017 写入特征值失败解决方案
  7. 错误: clang: error: no such file or directory: '/Users/...', clang: error: no input files
  8. 推进快递产业融合,齐聚2023上海国际快递展-快递物流展
  9. 罕见的jquery旋转式图片切换
  10. jemter接口并发数怎么算_JMeter压力测试及并发量计算