10-前后端的身份认证

一、web开发模式


text

服务器端渲染的优缺点
  概念:服务器发送给客户端的html页面,是在服务器通过字符串的拼接,动态生成的.
      因此,客户端不需要使用Ajax这样的技术额外请求页面的数据。
  优点:
    1.前端耗时少(因为服务器端负责动态生成html内容,浏览器只需要直接渲染页面即可。尤其是移动端,更省电)
    2.有利于SEO(因为服务器端响应的是完整的html内容,所以爬虫更容易爬取获得信息,更有利于SEO)
  缺点:
    1.占用服务器端资源。(即服务器端完成html页面内容的拼接,如果请求较低,会对服务器造成一定的访问压力)
    2.不利于前后端分离,开发效率低。(使用服务器端渲染,则无法进行分工合作,尤其对于前端复杂度高的项目,不利于项目高效开发)

前后端分离的Web开发模式
  前后端分离的概念:前后端分离的开发模式,依赖于Ajax技术的广泛应用。
  简而言之,就是后端只负责提供API接口,前端使用Ajax调用接口的开发模式。
  
  前后端分离的优缺点:
    优点:
      1.开发体验好。(前端专注于UI页面的开发,后端专注于api的开发,且前端有更多的选择性)
      2.用户体验好。(Ajax技术的广泛应用,极大的提高了用户的体验,可以轻松地实现页面的局部刷新)
      3.减轻了服务器端的渲染压力.(因为页面最终是在每个用户的浏览器中生成的。)
    缺点:
      1.不利于seo。(因为完整的html页面需要在客户端动态拼接完成,所以爬虫无法爬取页面的有效信息.
      解决方案:利用vue、React等前端框架的SSR(server side render)技术能够很好的解决SEO问题!)

如何选择Web开发模式
  根据不同的业务场景选择不同的开发模式
  1.企业级网站,主要功能是展示而没有复杂的交互,并且需要良好的seo,这时候选择服务器端渲染
  2.类似后台管理项目,交互性比较强,不需要考虑SEO,那么就可以使用前后端分离的开发模式

  有时为了同时兼顾首页的渲染速度和前后端分离的开发效率,一些网站采用了首屏服务器端渲染 + 
  其他页面前后端分离的开发模式

身份认证:
  1.服务器端渲染推荐使用Session认证机制
  2.前后端分离推荐使用JWT认证机制

二、Cookie


text

Cookie是存储在用户浏览器中的一段不超过4kb的字符串

Cookie的几大特性:
  1.自动发送
  2.域名独立
  3.过期时限
  4.4KB限制

三、JWT认证机制


text

Session认证的局限性
  Session认证机制需要配合Cookie才能实现。

  当前端请求后端接口不存在跨域问题的时候,推荐使用Session身份认证机制
  当前端需要跨域请求后端接口的时候 推荐使用JWT认证机制

JWT(JSON Web Token)

四、案例

session案例
jwt案例

__EOF__

10-前后端的身份认证
本文作者: 铁盒的序 本文链接: https://www.cnblogs.com/hzpweb/articles/18222485 关于博主: 我是hzp 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处! 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...