这是一个基于 Jupyter Notebook 进行实现的 HTTP Server 项目。
项目目标是在尽量不依赖高级框架的前提下,使用 Python 标准库和底层网络能力,从零构建一个最小但结构完整的 HTTP 服务。整个项目的核心交付形式是 ipynb,而不是常规 Web 框架工程。
- 基于
socket构建最小 HTTP Server - 手动处理连接、请求读取、请求解析和响应返回
- 支持基础路由分发
- 支持简单文本与 HTML 响应
- 支持本地静态文件访问
- 在 Notebook 中保留完整的实现过程和验证路径
本项目遵循 from scratch 原则,强调从底层构建 HTTP 服务。
使用范围:
- Python
- Jupyter Notebook
- Python 标准库
socketpathlib/osmimetypesurllib.parse
不作为核心方案使用:
- Flask
- FastAPI
- Django
- aiohttp
- Tornado
- 任何现成高层 HTTP 服务框架
项目的核心实现将放在一个主 ipynb 文件中,Notebook 既是实现载体,也是运行说明和验证载体。
后续 Notebook 预期覆盖:
- 服务配置
- socket 监听
- 原始请求读取
- 请求行与请求头解析
- 响应报文构建
- 路由处理
- 静态文件处理
- 错误响应与基础日志
当前仓库已包含:
- prd.md:完整项目规划书
当前仓库尚未包含:
- 主
ipynb实现文件 - 静态资源示例文件
- 运行验证截图或示例输出
下一步将基于 PRD 实现主 Notebook,按照以下顺序推进:
- 建立最小 socket 服务闭环
- 加入 HTTP 请求解析
- 加入基础路由
- 加入静态文件服务
- 完善错误处理与运行说明
如果需要查看完整的项目范围、模块拆解、阶段计划和验收标准,请直接阅读 prd.md。