一、web开发模式
目前主流的 Web 开发模式有两种,分别是:
1.基于服务端渲染的传统 Web 开发模式: ?概念:服务器发送给客户端的 HTML 页面,是在服务器通过字符串的拼接,动态生成的。因此,客户端不需要使用 Ajax 这样的技术额外请求页面的数据。
2.基于前后端分离的新型 Web 开发模式: ?概念:前后端分离的开发模式,依赖于 Ajax 技术的广泛应用。简而言之,前后端分离的 Web 开发模式,就是后端只负责提供 API 接口,前端使用 Ajax 调用接口的开发模式。
二、身份认证
服务端渲染推荐使用 Session 认证机制 前后端分离推荐使用 JWT 认证机制
当前端请求后端接口不存在跨域问题的时候,推荐使用 Session 身份认证机制。 当前端需要跨域请求后端接口的时候,推荐使用 JWT 认证机制。
1.Session 认证机制
-
HTTP 协议的无状态性 指的是客户端的每次 HTTP 请求都是独立的,连续多个请求之间没有直接的关系,服务器不会主动保留每次 HTTP 请求的状态。 -
如何突破 HTTP 无状态的限制 会员卡身份认证方式,在 Web 开发中的专业术语叫做 Cookie。 -
Cookie Cookie 是存储在用户浏览器中的一段不超过 4 KB 的字符串。它由一个名称(Name)、一个值(Value)和其它几个用于控制 Cookie 有效期、安全性、使用范围的可选属性组成。 -
提高安全性 5.Session工作原理:
2.JWT认证机制
-
JWT(JSON Web Token)是目前最流行的跨域认证解决方案。 -
JWT工作原理: -
JWT 的三个组成部分: 从前到后分别是 Header、Payload、Signature。 其中: Payload 部分才是真正的用户信息,它是用户信息经过加密之后生成的字符串。 Header 和 Signature 是安全性相关的部分,只是为了保证 Token 的安全性。 -
JWT 的使用方式 客户端收到服务器返回的 JWT 之后,通常会将它储存在 localStorage 或 sessionStorage 中。 此后,客户端每次与服务器通信,都要带上这个 JWT 的字符串,从而进行身份认证。推荐的做法是把 JWT 放在 HTTP 请求头的 Authorization 字段中,格式:Authorization Bearer token (如下图)
|