使用 asyncio 创建最小的 HTTP 服务器

2023-12-20

虽然我熟悉 HTTP 服务器和事件循环,但在掌握 Python 的内部工作原理时遇到了一些困难asyncio https://docs.python.org/3/library/asyncio.html.

作为学习练习,我一直在尝试编写一个最小的 HTTP 服务器(仅回显请求方法、URI、标头和正文),而不需要额外的依赖项。我调查过aiohttp https://github.com/KeepSafe/aiohttp and aiowsgi https://github.com/gawel/aiowsgi供参考,但很难理解那里发生的事情 - 部分原因是协议、传输等的感知复杂性有点令人难以承受。所以我目前陷入困境,因为我不太知道从哪里开始。

期望这只是几行代码来建立连接、使用传入的文本流并发回另一个文本流,这是天真的吗?


你可以看一下picoweb https://github.com/pfalcon/picoweb作为非常简单(且非常有限)的 HTTP 服务器的示例。

但是,当然,当您尝试实现全功能 Web 服务器时,您会得到类似 aiohttp 的东西——HTTP 是复杂的(甚至可能是复杂的)标准。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 asyncio 创建最小的 HTTP 服务器 的相关文章

随机推荐