spring的技术笔记
学习HTTP与Express第 6 / 23 篇1 分钟阅读

原生 HTTP

原生 HTTP

这节要解决什么

不借助框架,先看懂「一个 HTTP 服务最小长什么样」,后面学 Express / Nest 才知道框架帮你省了什么。

先用大白话

浏览器访问一个网址时:

  1. 发出 请求(方法 GET/POST、路径、头、身体)
  2. 服务器给出 响应(状态码、头、身体)

Node 自带 node:http 模块,能监听端口、收到请求后写回响应。
Express / Nest 都是在这层之上帮你:路由更方便、中间件更好插、错误更好管。

类比:原生 HTTP 像手写 DOM;Express 像 jQuery;Nest 像带规范的 Vue/Nuxt 工程结构。

最小例子(读懂即可)

import http from 'node:http'
 
const server = http.createServer((req, res) => {
  res.statusCode = 200
  res.setHeader('Content-Type', 'application/json; charset=utf-8')
  res.end(JSON.stringify({ ok: true, path: req.url }))
})
 
server.listen(3001, () => {
  console.log('http://localhost:3001')
})

你会发现:路径一多,自己 if/else 会疯掉 —— 所以才有路由框架。

和后面项目的关系

下一节的 Express 项目,以及 Nest(默认底下也是 Express),请求进来最终都是「请求对象 → 你的处理函数 → 响应对象」。
名词可能叫 req/res 或 @Req()/@Res(),本质一样。

验收清单

  • 能说出请求 / 响应各有哪些常见部分
  • 知道 Express、Nest 都建立在 HTTP 之上
  • 明白「自己手写路由很痛,所以用框架」

下一节 → 02-Express速通-TS.md