1
0
mirror of https://github.com/ZSCNetSupportDept/website.git synced 2025-10-29 09:25:04 +08:00
Files
website/docs/devdocs/09-培训/02-Web后端/02-基于HTTP的Web后端的组成.md

78 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 基于HTTP的Web后端的组成
一个基于HTTP的Web后端通常有以下部分组成:
---
- 路由系统(router)
路由系统负责处理用户访问网页时的请求路径/方法,并转交给对应的处理者
---
- 处理者(handler)
处理者负责处理用户的请求读取用户在URI中的参数和请求体中的内容如果有统称为上下文(Context),负责返回请求所对应的回应
有的系统还会继续细分,将业务层和接口层分开(这种情况下通常接口层是和路由功能合并的)
---
_最低要求是这个另外通常一个后端系统还需要连接一个数据库:_
---
- 数据库
通常是兼容SQL协议的关系型数据库负责存储后端所需要用到和产生的信息
_其实很多后端系统无非就是对数据库的增删改查(所谓的CRUD),可以说这些系统就是数据库的一层方便wrapper_
---
- 鉴权系统
通常,我们系统的内容不打算对互联网上的任何一个人开放,所以我们需要一些方法来验证访问者的身份
---
- 模板系统optional
如果你打算通过后端渲染HTML返回到用户浏览器那你需要一套模板来方便地将动态内容插入到模板里面返回给用户如果是一个纯粹API的站点还是想直接把工作甩给前端你就可以不用配置模板
---
此外,还有一些外围的工作:
- 反向代理
通常我们的Web后端服务不是直接暴露对外访问的而是经过一层代理的转发这样更加的安全配置也更加简单服务只需要监听本地端口
- 配置系统
你的系统需要读取配置,比如监听端口,数据库连接,还有其他服务的密钥等
- CI/CD
自动化配置构建,部署,测试等工作,让你专注代码工作,而不用把心思过多地放在部署构建这些工作上面
## 路由
### API设计
#### 传统
#### REST
#### GraphQL
## handler
### 面向对象与模型
## 数据库
### SQLite
### Postgre
### 选择数据库的各种考量
## 鉴权
### Session
### JWT
### OAuth2.0
## 模板
### Jinja2