JavaWeb的回顾

什么是Web(www World Wide Web)通过浏览器访问到网站

浏览器:也是个程序,有着前端的解析引擎JavaWeb的回顾_第1张图片

Web前端所需要的:

JavaWeb的回顾_第2张图片

HTTP:  概念: Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输    的规则。

●特点:
1. 基于TCP协议:面向连接,安全(三次握手成功)
2.基于请求-响应模型的:一次请求对应一次响应
3. HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。
缺点:多次请求间不能共享数据。(此缺点已解决,通过Web的会话技术)
优点:速度快

请求格式:

JavaWeb的回顾_第3张图片

JavaWeb的回顾_第4张图片

请求方式-GET:请求参数在请求行中,没有请求体,如: /brand/ findAll?name=OPPO&status= 1。GET请求大小是有限制的
请求方式-POST:请求参数在请求体中,POST请求大小是没有限制的

相应格式:

JavaWeb的回顾_第5张图片

响应码:JavaWeb的回顾_第6张图片

JavaWeb的回顾_第7张图片

详细的:

JavaWeb的回顾_第8张图片

JavaWeb的回顾_第9张图片

登录校验:

●会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应。
●会话跟踪: -种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同- -浏览器,以便在同一-次会话的多次请求间共享数据(如账号登录后,账号不会因为HTTP的无状态而改变)。
●会话跟踪方案:
        ●客户端会话跟踪技术: Cookie
        ●服务端会话跟踪技术: Session
        ●令牌技术

JavaWeb的回顾_第10张图片

Cookie的缺点

●优点: HTTP协议中支持的技术
●缺点:
        移动端APP无法使用Cookie
        不安全,用户可以自己禁用Cookie
        Cookie不能跨域

JavaWeb的回顾_第11张图片

Session的缺点:

●优点:存储在服务端,安全
●缺点:
        服务器集群环境下无法直接使用Session
        Cookie的缺点

JavaWeb的回顾_第12张图片

那么,这么多缺点,企业级开发时也还在使用着,为什么呢?它还能传递些什么信息呢?

  1. 会话标识符(Session Identifier):这是通过Cookie或URL重写的方式在客户端存储的唯一标识符。每当客户端发送请求时,它都会包含这个标识符。服务器使用此标识符来识别请求的来源,并重新建立与客户端的会话。
  2. 用户认证信息:这包括用户的登录凭证,例如用户名和密码。存储在Cookie中的这种信息可以用于在用户未进行任何操作的情况下保持用户的登录状态。然而,出于安全考虑,建议不要长期存储敏感的用户信息。
  3. 用户偏好设置:例如,语言设置、主题设置、布局设置等。这些信息可以通过Cookie存储,使网站能够记住用户的个性化设置,并在用户下次访问时应用这些设置。
  4. 购物车信息:在电子商务网站中,Cookie可以存储用户的购物车信息,包括已添加到购物车的商品、购物车中的商品数量等。
  5. 状态信息:例如,用户在填写表单后,可以通过Cookie存储表单的信息,以便用户在稍后完成填写。
  6. 访问统计数据:网站可以使用Cookie来跟踪用户的浏览行为,例如页面视图、点击次数等,用于分析和优化网站的功能和内容。

令牌技术:

●优点:
        支持PC端、移动端
        解决集群环境下的认证问题
        减轻服务器端存储压力
●缺点: 

         需要自己实现

JavaWeb的回顾_第13张图片

JWT令牌:

全称: JSON Web Token (https://jwt.io/ )
●定义了一种简洁的、 自包含的格式,用于在通信双方以json数据格式安全的传输信息。由于数字签名的存在,这些信息是可靠的。
●组成:
        ◆第一 部分: Header(头) ,记录令牌类型、 签名算法等。例如: {"alg":"HS256","type":"JWT"}
        ◆第二部分: Payload(有效载荷) ,携带一 些自定义信息、默认信息等。例如: {id'":"1","username":"Tom"}
        ◆第三部分: Signature(签名) ,防止Token被篡改、确保安全性。将header. payload,并加入指定秘钥,通过指定签名算法计算而来。

使用JWT令牌校验:

先在Pom.xml中导入jwt的依赖


    io.jsonwebtoken
    jjwt
    ${jjwt}

未完待续!

你可能感兴趣的:(web)