当前位置: 首页 > wzjs >正文

咸阳做网站开发公司哪家好网站代运营多少钱一个月

咸阳做网站开发公司哪家好,网站代运营多少钱一个月,大型网站是用哪种数据库做的,厦门外贸商城网站建设目录 什么是会话? 会话跟踪 为什么要在同一次会话的多次请求共享数据? 方式一:Cookie HttpServletResponse 方式二:Session JWT令牌 JWT令牌由哪几个部分组成? 优点: 生成Jwt令牌 Jwts.builder()…

目录

什么是会话?

会话跟踪

为什么要在同一次会话的多次请求共享数据?

方式一:Cookie

HttpServletResponse

方式二:Session

JWT令牌

JWT令牌由哪几个部分组成?

优点:

生成Jwt令牌

Jwts.builder();构建一个JWT令牌

.signWith指定签名算法

.addClaims()添加自定义信息

.put()往Jtw令牌中存储信息

.setExpiration()指定有效期

.compact()生成令牌

.setSigningKey设置密钥

.parseClaimsJws()解析传进来的Jwt令牌

.getBody();获取自定义信息


什么是会话?

在web开发中,会话指的是浏览器与服务器之间的一次连接,我们称为一次会话。

会话跟踪

服务器需要识别多次请求是否来自于同一浏览器,以便在同一次会话的多次请求间共享数据

为什么要在同一次会话的多次请求共享数据?

登录的过程中有验证码,这个验证码是请求服务器端动态生成的,所以前端要想呈现出这个验证码,此时要发送请求给服务器端,服务器端生成一个验证码后,再将这个验证码图片响应给前端,前端再将其展示出来,这次请求完成后会话就建立了,然后输入用户名密码和验证码后就可以点击登录,当点击登录按钮的时候又要发送第二次请求,那这次请求的就是登录接口,在服务器端依然要校验验证码的正确性,而正确的验证码是上一次请求生成的,那上一次生成的验证码之后它会把这个验证码记下来,然后在登录的过程中会将页面传递的验证码正确的验证码进行比对,如果页面传递的验证码和上一次请求的验证码是一致的,这个时候就代表这个验证码是正确的

第一次请求需要记录验证码的值是多少,而第二次发起登录请求的时候,它又要去获取上一次登录请求的这个数据,这个时候就要在同一次会话的多次请求之间共享数据了,那就可以通过会话跟踪技术解决这个问题

会话跟踪技术有两种

方式一:Cookie

cookie是客户端会话跟踪技术,它是存储在客户端浏览器的,

当我们在浏览器端直接访问登录这个接口时,如果所传递的用户名和密码都是正确的,此时就可以成功登录,登录成功后我们就可以在服务器端创建这么个Cookie对象,然后将多次请求之间需要共享的数据存储在Cookie中,比如在Cookie中存储当前用户存储成功的标识,然后紧接着就可以给前端响应数据了,而在响应数据的时候,这个Cookie会自动的响应给浏览器,而浏览器接受这个Cookie后,浏览器会自动的把这个Cookie存储在本地,并且在之后的每一次请求中,都会将这个Cookie自动的携带到服务器端,服务器端拦截到前端所发起的请求后就可以获取到Cookie中存储的数据了,然后去校验这个用户的登录信息是否存在,如果这个用户已经登录了,我们就直接放行,让它去访问对应的资源,如果携带过来的Cookie并没有存储用户的信息,就直接给前端响应一个错误的结果,那他去登录就可以了,这就是基于Cookie对话的流程

那为什么一切都是自动的呢?

Cookie虽然不是http协议的一部分,但是在http协议中对Cookie提供了支持,提供了两个头,一个是响应头,一个是请求头,当我们在服务器端给前端响应Cookie的时候,最终会自动的在响应头中添加(Set-Cookie)告诉浏览器我们要设置Cookie了,Cookie里面存储的数字形式就是Key=value,紧接着浏览器接收到相应回来的数据之后,一旦发现有个(Set-Cookie)的响应头,它就将这个Cookie自动的保存到浏览器本地,并且在之后的每一次请求后,它都会将浏览器保存的Cookie携带到服务器端

因为在HTTP协议中又提供了另外一个请求头,这个请求头叫Cookie,在Cookie这个请求头中,它就会自动的将当前浏览器所保存的Cookie数据一并携带到服务器端,服务器端就可以获取到请求头传来的Cookie,然后去校验当前Cookie是否存储当前登录的用户信息,这就是Cookie的优点,它是HTTP协议中所提供的两个技术,一个相应头,一个请求头

HttpServletResponse

HttpServletResponse服务器对客户端的 HTTP 响应

方式二:Session

是服务器端会话跟踪技术,所以是存储在服务器端的。

浏览器在第一次请求服务器的时候,我们就可以直接在服务器当中来获取到会话对象Session。如果是第一次请求Session ,会话对象是不存在的,这个时候服务器会自动的创建一个会话对象Session 。而每一个会话对象Session ,它都有一个ID(示意图中Session后面括号中的1,就表示ID),我们称之为 Session 的ID。

接下来,服务器端在给浏览器响应数据的时候,它会将 Session 的 ID 通过 Cookie 响应给浏览器。其实在响应头当中增加了一个 Set-Cookie 响应头。这个 Set-Cookie 响应头对应的值是不是cookie? cookie 的名字是固定的 JSESSIONID 代表的服务器端会话对象 Session 的 ID。它会在响应头Set-Cookie中,将服务器端当前会话对象Session的id值一并返回给浏览器,浏览器会自动识别这个响应头,然后自动将Cookie存储在浏览器本地。

接下来,在后续的每一次请求当中,都会将 Cookie 的数据获取出来,并且携带到服务端。接下来服务器拿到JSESSIONID这个 Cookie 的值,也就是 Session 的ID,是Session会话的唯一标识。那就可以根据这个标识找到对应的Session会话对象,然后再从会话对象中获取到我们之前存储的信息

JWT令牌

令牌就相当于是用户合法的身份凭证,其本质就是一个字符串

JWT令牌由哪几个部分组成?

  • header(头):记录令牌类型,标签算法
  • payload(载荷):携带一些自定义的信息,有些一些令牌的默认信息,比如令牌的有效期
  • signature(签名):防止被篡改,保证安全性

header()和payload()原始格式的数据是json格式的数据,是对json格式的数据进行了base64编码,而签名并不是64编码,它是基于一定的签名算法计算出来的加密之后的字符串

优点:

  1. 支持pc端,支持移动端,还支持小程序端
  2. 可以解决集群环境下的认证问题
    1. 基于Session这种方案在集群环境下无法使用,因为Session这种方案是我们需要将会话信息保存到服务器端的,对于令牌这种方案是不需要在服务器端保存任何信息的,所以它可以解决集群环境下的认证问题
  3. 减轻了服务器端存储压力

生成Jwt令牌

Jwts.builder();构建一个JWT令牌

.signWith指定签名算法

第一个参数指定签名算法,第二个指定密钥

第一个参数内容打开官方文档显示对应的签名算法:JSON Web Tokens - jwt.io

第二次参数指定字符串进行Base64编码,网址:Base64 编码/解码 - 锤子在线工具

.addClaims()添加自定义信息

.put()往Jtw令牌中存储信息

username叫admin

.setExpiration()指定有效期

System.currentTimeMills()获取当前时间信息的毫秒值

.compact()生成令牌

.parser解析Jwt令牌

而在解析令牌的时候,我们需要密钥,没有密钥是没法解析令牌的

.setSigningKey设置密钥

生成令牌和解析令牌时的密钥要完全一致

.parseClaimsJws()解析传进来的Jwt令牌

.getBody();获取自定义信息

测试结果,exp是过期时间

http://www.dtcms.com/wzjs/394440.html

相关文章:

  • 公司网站开发设计题目来源怎么写泰安百度推广公司
  • php中英文网站源码互联网推广方式
  • 武汉有哪些比较好的网站开发公司网络推广外包一年多少钱
  • 设计网网站新手如何涨1000粉
  • 可视化的做网站的appaso关键词搜索优化
  • 网站建设中跳转页面源码深圳营销型网站建设
  • 高权重网站 内页做跳转给新网站互联网广告公司排名前十
  • 网站开发折旧网站维护工作内容
  • 网站底部版权信息代码制作网站需要什么技术
  • 做网站编辑好还是美工好电工培训技术学校
  • 网站建设一般花多少费用域名停靠网页推广大全2021
  • 桥头网站仿做今天刚刚的最新新闻
  • 购物网站建设新闻信息发布推广方法
  • 付费做SPaSS统计分析的网站营销网络怎么写
  • 做教育的有哪些网站网络营销软件网站
  • 专门做善事的网站百度收录网站
  • 阿里免费版企业邮箱东莞网络排名优化
  • 学习网站建设培训游戏推广是什么工作
  • 东山县城乡规划建设局网站今日头条热点新闻
  • 国内最大的开源网站百度极速版推广员怎么申请
  • 江门网站建设设计网络营销的主要方式
  • 做oa系统的网站上海seo博客
  • 专业做农牧应聘的网站重庆网站快速排名优化
  • 建站市场分析今日头条极速版最新
  • 免费微网站哪个好用web网站设计
  • wordpress单本小说站百度seo排名优化技巧分享
  • 可以做外链网站seo有哪些经典的案例
  • 做网站需要nba表格百度推广的五大优势
  • 单页网站源码最新足球赛事
  • 网站建设公司如何进行工作免费发seo外链平台