主流的开发模式:
- 服务端渲染,服务器发送给客户端html页面(是在服务器通过字符串的拼接动态生成)
优:前端耗时少,有利于seo,适合公司官网
缺:占用服务器资源,不利于前后端分离,效率低 - 前后端分离,依赖于ajax技术的广泛应用,后端提供接口API,前端使用ajax调用接口
优:开发、用户体验好,减轻了服务端压力,适合做后台管理系统
缺:不利于seo
身份认证(鉴权)
三种模式:cookie、session、jwt
服务端渲染推荐 session认证机制
前后端分离推荐 jwt 认证机制
http协议的无状态性
指的是客户端每次http请求都是独立的,连续多个请求之间没有直接的关系,服务器不会主动保留每次http的请求状态
-
cookie
不同域名下的cookie各自独立,每当客户端发起请求时,会自动把当前域名下所有未过期的cookie一同发送到服务器
特点:
1.本质是字符串,4k左右,存储在客户端浏览器
2.服务端生成,自动保存到客户端里
3.伴随着http请求自动发送
4.不安全(不要在cookie里存敏感信息,如密码)
image.png - session 一般使用非跨域场景。
- 服务端生成,把用户信息存储在服务器的内存中,生成一个字符串(带有session标识)并将其保存到cookie中。
-
session工作原理
image.png -
session认证机制
image.png -
session局限性
image.png
- JWT (json web token) 跨域解决方案
- 跨域,用户信息加密后保存到浏览器(手动携带)
-
工作原理
用户信息通过token字符串的形式,保存到客户端浏览器中。服务器通过还原token字符串的形式来认证用户的身份。
image.png -
jwt 三部分组成
image.png -
jwt使用方式
image.png
网友评论