Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

HTTP Server From Scratch

这是一个基于 Jupyter Notebook 进行实现的 HTTP Server 项目。

项目目标是在尽量不依赖高级框架的前提下,使用 Python 标准库和底层网络能力,从零构建一个最小但结构完整的 HTTP 服务。整个项目的核心交付形式是 ipynb,而不是常规 Web 框架工程。

项目目标

  • 基于 socket 构建最小 HTTP Server
  • 手动处理连接、请求读取、请求解析和响应返回
  • 支持基础路由分发
  • 支持简单文本与 HTML 响应
  • 支持本地静态文件访问
  • 在 Notebook 中保留完整的实现过程和验证路径

技术边界

本项目遵循 from scratch 原则,强调从底层构建 HTTP 服务。

使用范围:

  • Python
  • Jupyter Notebook
  • Python 标准库
  • socket
  • pathlib / os
  • mimetypes
  • urllib.parse

不作为核心方案使用:

  • Flask
  • FastAPI
  • Django
  • aiohttp
  • Tornado
  • 任何现成高层 HTTP 服务框架

交付形式

项目的核心实现将放在一个主 ipynb 文件中,Notebook 既是实现载体,也是运行说明和验证载体。

后续 Notebook 预期覆盖:

  • 服务配置
  • socket 监听
  • 原始请求读取
  • 请求行与请求头解析
  • 响应报文构建
  • 路由处理
  • 静态文件处理
  • 错误响应与基础日志

当前状态

当前仓库已包含:

  • prd.md:完整项目规划书

当前仓库尚未包含:

  • ipynb 实现文件
  • 静态资源示例文件
  • 运行验证截图或示例输出

后续计划

下一步将基于 PRD 实现主 Notebook,按照以下顺序推进:

  1. 建立最小 socket 服务闭环
  2. 加入 HTTP 请求解析
  3. 加入基础路由
  4. 加入静态文件服务
  5. 完善错误处理与运行说明

文档说明

如果需要查看完整的项目范围、模块拆解、阶段计划和验收标准,请直接阅读 prd.md

About

Notebook-based HTTP server implementation from first principles, using Python sockets and standard-library networking without heavyweight frameworks.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages