web开发模式+身份认证

一、web开发模式

目前主流的 Web 开发模式有两种,分别是:

1.基于服务端渲染的传统 Web 开发模式:
 概念:服务器发送给客户端的 HTML 页面,是在服务器通过字符串的拼接,动态生成的。因此,客户端不需要使用 Ajax 这样的技术额外请求页面的数据。

2.基于前后端分离的新型 Web 开发模式:
 概念:前后端分离的开发模式,依赖于 Ajax 技术的广泛应用。简而言之,前后端分离的 Web 开发模式,就是后端只负责提供 API 接口,前端使用 Ajax 调用接口的开发模式

二、身份认证

服务端渲染推荐使用 Session 认证机制
前后端分离推荐使用 JWT 认证机制

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

1.Session 认证机制

  1. HTTP 协议的无状态性
    指的是客户端的每次 HTTP 请求都是独立的,连续多个请求之间没有直接的关系,服务器不会主动保留每次 HTTP 请求的状态。

  2. 如何突破 HTTP 无状态的限制
    会员卡身份认证方式,在 Web 开发中的专业术语叫做 Cookie。

  3. Cookie
    Cookie 是存储在用户浏览器中的一段不超过 4 KB 的字符串。它由一个名称(Name)、一个值(Value)和其它几个用于控制 Cookie 有效期、安全性、使用范围的可选属性组成。
    在这里插入图片描述

  4. 提高安全性

    5.Session工作原理:
    在这里插入图片描述

2.JWT认证机制

  1. JWT(JSON Web Token)是目前最流行的跨域认证解决方案。

  2. JWT工作原理:
    在这里插入图片描述

  3. JWT 的三个组成部分:
    从前到后分别是 Header.Payload.Signature ,通过 ’ . ’ 连接。
    其中:
    Payload 部分才是真正的用户信息,它是用户信息经过加密之后生成的字符串。
    Header 和 Signature 是安全性相关的部分,只是为了保证 Token 的安全性。

  4. JWT 的使用方式
    客户端收到服务器返回的 JWT 之后,通常会将它储存在 localStorage 或 sessionStorage 中。
    此后,客户端每次与服务器通信,都要带上这个 JWT 的字符串,从而进行身份认证。推荐的做法是把 JWT 放在 HTTP 请求头Authorization 字段中,格式:Authorization Bearer token (如下图)
    在这里插入图片描述

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Python是一种面向对象且高级的编程语言,已经成为Web开发,数据科学和机器学习等领域的首选。Django是基于Python的开源Web框架,使Web开发更加容易、快速和可扩展。属于MVT(Model-View-Template)架构,通过它可以快速地开发出一个大型的Web应用程序。MySQL是一种功能强大和广泛应用的关系型数据库管理系统,适用于广泛范围的Web应用程序开发。最近几年, MySQL在极高的性能、与其他应用程序的无缝集成、易于维护等方面成为了Web开发的首选数据库。 结合这些技术,我们可以完成各种Web应用程序的开发,例如电子书。电子书是指以电子文档的形式发行的图书或书籍,具有较高的便携性和使用方式,不需要纸质印刷。以Python为基础,并使用Django框架和MySQL作为后端数据库管理系统,能够实现电子书的在线阅读、购买和下载等。利用Django模板和静态文件,我们可以构建电子书的外观和用户界面。还能够使用Django的内置功能,例如用户身份验证和身份管理,来确保用户安全访问电子书。同时,使用MySQL数据库,可以存储电子书的元数据和用户购买记录,并使用ORM(对象关系映射)模式轻松访问和管理这些数据。 总的来说,使用Python,Django和MySQL可以简化Web应用程序的开发,特别是在开发诸如电子书等复杂应用程序时,这三种技术可以相互促进,提高开发效率和软件质量。 ### 回答2: 电子书Python Django MySQL开发Web指的是使用Python语言编写的Django框架,通过MySQL数据库实现Web开发的过程。这种开发方式具有高效且易于维护的特点,并且具有强大的扩展性和灵活性。 Python是一种高级编程语言,具有语法简单、易于学习及强大的编程能力等多方面的优势,在Web开发领域具有广泛应用。而Django是一个基于Python的Web框架,它的开发目的是为了简化Web应用程序的创建过程,提供高效一致的解决方案。 MySQL是一种开源的关系型数据库管理系统,它具有高效性、稳定性、可扩展性等多种优点,适合大型Web开发项目的数据库管理。 在实际的开发中,在Python语言中使用Django框架连同MySQL数据库可以轻松地实现Web应用的创建和管理。由于Django提供的高级开发工具和自动化管理机制,开发人员可以轻松地处理常见的Web开发任务,节省工作时间。 总而言之,电子书Python Django MySQL开发Web是一种高效、灵活、易于维护的Web开发方式。它可以帮助开发人员快速创建高品质的Web应用,同时更好地满足项目需求,进而为用户带来更出色的使用体验。 ### 回答3: 电子书是目前最受欢迎的阅读方式之一,Python是一种广泛使用的编程语言,Django是一个流行的Web框架,MySQL是一种常见的关系型数据库。这些工具的结合可以帮助开发人员快速构建高效的Web应用程序。 使用Python和Django可以快速搭建一个Web应用程序的框架,然后可以使用MySQL来存储和管理数据。在这个过程中,可以使用Python的各种库和模块来扩展应用程序的功能,包括更高级的图形用户界面、数据可视化和其他功能。 与传统的书籍不同,电子书可以提供更丰富的媒体和互动体验,比如可以包含多媒体内容、链接和动画。Python和Django可以帮助开发人员构建更具交互性和视觉吸引力的Web应用程序,并且还可以使用MySQL来存储和检索更复杂的数据。 总之,电子书python django mysql开发web是一种非常强大的工具组合,可以帮助开发人员快速构建高效、易于使用和易于管理的Web应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小木荣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值