前后端的身份认证

主流的开发模式:

  • 服务端渲染,服务器发送给客户端html页面(是在服务器通过字符串的拼接动态生成)
    优:前端耗时少,有利于seo,适合公司官网
    缺:占用服务器资源,不利于前后端分离,效率低
  • 前后端分离,依赖于ajax技术的广泛应用,后端提供接口API,前端使用ajax调用接口
    优:开发、用户体验好,减轻了服务端压力,适合做后台管理系统
    缺:不利于seo

身份认证(鉴权)

三种模式:cookie、session、jwt
服务端渲染推荐 session认证机制
前后端分离推荐 jwt 认证机制
http协议的无状态性
指的是客户端每次http请求都是独立的,连续多个请求之间没有直接的关系,服务器不会主动保留每次http的请求状态

image.png

  • cookie
    不同域名下的cookie各自独立,每当客户端发起请求时,会自动把当前域名下所有未过期的cookie一同发送到服务器
    特点:
    1.本质是字符串,4k左右,存储在客户端浏览器
    2.服务端生成,自动保存到客户端里
    3.伴随着http请求自动发送
    4.不安全(不要在cookie里存敏感信息,如密码)


    image.png
  • session 一般使用非跨域场景。
  1. 服务端生成,把用户信息存储在服务器的内存中,生成一个字符串(带有session标识)并将其保存到cookie中。
  2. session工作原理


    image.png
  3. session认证机制


    image.png
  4. session局限性


    image.png
  • JWT (json web token) 跨域解决方案
  1. 跨域,用户信息加密后保存到浏览器(手动携带)
  2. 工作原理
    用户信息通过token字符串的形式,保存到客户端浏览器中。服务器通过还原token字符串的形式来认证用户的身份。


    image.png
  3. jwt 三部分组成


    image.png
  4. jwt使用方式


    image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容