HTTP 和请求生命周期(后端基础)


1.什么是HTTP?

HTTP(超文本传输​​协议)是客户端和服务器之间使用的通信协议。

型号:

客户端→请求→服务器
服务器→响应→客户端

HTTP 是无状态,这意味着每个请求都是独立的。


2. HTTP 请求的结构

HTTP 请求包含:

1. 方法

  • GET(读取数据)
  • POST(创建数据)
  • PUT(替换数据)
  • 补丁(部分更新)
  • 删除(删除数据)

2.网址

示例:

1
2
/notes
/notes/123

3. 标题

额外的元数据,例如:

  • 内容类型
  • 授权
  • 饼干

4. 正文(可选)

主要用于 POST / PUT / PATCH 请求。


3. HTTP 响应的结构

服务器响应包含:

  • 状态代码(200、201、400、404、500)
  • 标题
  • 正文(JSON、文本等)

JSON 响应示例:

1
2
3
{
"message": "success"
}

4. Node.js 请求生命周期(深入理解)

第 1 步:服务器启动

1
app.listen(3000)

内部:

1
http.createServer(app)

端口 3000 打开,节点开始等待请求。


第2步:客户端发送请求

示例:

获取/注释


步骤 3:操作系统检测网络活动

操作系统检测端口 3000 上的活动并通知 Node.js。

节点发出“请求”事件。


步骤 4:节点调用监听器

内部:

1
server.on("request", app)

节点执行:

1
app(req, res)

Express 应用程序函数成为请求处理程序。


步骤 5:快速管道执行

执行顺序:

  1. 全局中间件
  2. 路由匹配
  3. 路由处理程序执行
  4. 回复已发送

第 6 步:响应返回

Express → 节点 → 操作系统 → 客户端

发送响应后,服务器返回等待状态。


5.生命周期中的中间件

中间件函数在最终路由处理程序之前运行。

例子:

1
app.use(express.json())

目的:

  • 解析JSON体
  • 日志记录
  • 认证
  • 验证

执行顺序很重要。


6. 完整的视觉流程

客户

互联网

操作系统(端口3000)

节点 HTTP 服务器

Express 应用程序(监听器)

中间件

路由处理程序

回应

返回等待状态


关键概念总结

  • HTTP 是无状态的。
  • Node.js 是事件驱动的。
  • Express app 是一个用作请求监听器的函数。
  • 中间件按顺序运行。
  • 后端作为请求-响应机器。

目前的理解水平

✔ HTTP 结构
✔ 请求和响应流程
✔ 节点基于事件的处理
✔ 快速中间件管道
✔ 端到端生命周期清晰


下一主题推荐:
身份验证和无状态系统(JWT、会话、Cookie)