mirror of
https://github.com/ZSCNetSupportDept/website.git
synced 2025-10-29 09:25:04 +08:00
增加了系列文章-Web后端培训
This commit is contained in:
77
docs/devdocs/09-培训/02-Web后端/02-基于HTTP的Web后端的组成.md
Normal file
77
docs/devdocs/09-培训/02-Web后端/02-基于HTTP的Web后端的组成.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# 基于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
|
||||
Reference in New Issue
Block a user