BaseHTTPServer 和 SimpleHTTPServer 有啥区别?何时何地使用它们?
Posted
技术标签:
【中文标题】BaseHTTPServer 和 SimpleHTTPServer 有啥区别?何时何地使用它们?【英文标题】:What is the difference between BaseHTTPServer and SimpleHTTPServer? When and where to use them?BaseHTTPServer 和 SimpleHTTPServer 有什么区别?何时何地使用它们? 【发布时间】:2010-12-12 05:10:37 【问题描述】:BaseHTTPServer
和 SimpleHTTPServer
有什么区别?
我应该在何时何地使用这些?
【问题讨论】:
【参考方案1】:BaseHTTPServer
是一个 HTTP 服务器库。它理解 HTTP 协议并让您的代码处理请求。它本身没有任何“逻辑”。 SimpleHTTPServer
建立在 BaseHTTPServer
之上,并以与普通 HTTP 服务器类似的方式处理请求,即从文件系统提供文件。在大多数情况下,您只需要 BaseHTTPServer
,作为实现 Web 应用程序开发服务器的基础。
如果您对开发 Web 应用程序而不是编写 HTTP 服务器感兴趣,您可能正在寻找WSGI 接口。它允许您在不依赖特定服务器的情况下编写 Web 应用程序。还有多个框架可以简化流程。
【讨论】:
补充一点,SimpleHTTPServer 也很方便。只需启动 $python -m SimpleHTTPServer,您就可以使用 HTTP 提供文件! 我正在为我的应用程序创建一个简单的 Web gui,我不想使用扭曲等框架。是否可以将 wsgi 与内置的 http 服务器一起使用?wsgi.simple_server
中有基于BaseHTTPServer
的WSGI 服务器。但是 WSGI 的优点是你可以使用任何你想要的 WSGI 服务器。例如,您可以使用来自 CherryPy 甚至 Twisted 的 WSGI 服务器,而无需编写 CherryPy 或 Twisted 特定代码。以上是关于BaseHTTPServer 和 SimpleHTTPServer 有啥区别?何时何地使用它们?的主要内容,如果未能解决你的问题,请参考以下文章
Python 标准库 BaseHTTPServer 中文翻译
Python BaseHTTPServer 通过 curl 发送保存文件