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

古典风格网站源码/东莞网络推广及优化

古典风格网站源码,东莞网络推广及优化,制造一个app需要花费多少钱,网站底部关键词内链目录 什么是会话? 会话跟踪 为什么要在同一次会话的多次请求共享数据? 方式一: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.whsansanxincailiao.cn/news/30344520.html

相关文章:

  • 成都十大景观设计公司/成都网站改版优化
  • 自主网站建设/开鲁网站seo
  • hefei 网站制作/seo标题优化裤子关键词
  • 成都建设网站首页/百度推广托管公司
  • 大连网站开发平台/新闻营销
  • 欣赏别人做的网站/企业seo整站优化方案
  • 品牌推广网站如何做/手机如何制作网站
  • wordpress移动端分享/湖南seo服务电话
  • 督查营商环境建设网站/郑州网站建设公司排行榜
  • 一个不懂技术的人如何做网站/网站seo方案案例
  • 网站策划任职要求/南京seo排名收费
  • 济宁做网站的企业/东莞网站制作模板
  • 如何选择合肥网站建设/企业管理
  • 福州市建设局职改办门户网站/成功的营销案例及分析
  • 北京seo网站/广告推销
  • wordpress文章设置时间免费下载/搜索引擎优化策略
  • 苏州建筑公司有哪些/seo技术培训宁波
  • 计算机网站建设毕业设计题目/百度如何快速收录网站
  • 免费网站建设 源代码/app推广联盟
  • 河南网站优化公司/二次感染即将大爆发
  • 古镇网站建设公司/体验营销策划方案
  • 龙游住房和城乡建设局网站/深圳百度推广代理商
  • 建设电子商务网站的方案/企业推广的渠道有哪些
  • 30个游戏链接/seo专员工作内容
  • 兖州网站建设/网站维护工程师
  • one dirve做网站/优化建站
  • 动态ip可以做网站/如何建网站教程
  • h5制作工具手机版/seo网络优化培训
  • 网站品牌建设方案/app推广80元一单
  • 哪些网站用vue.js做的/优化网站价格