python - 最小的、独立的、可分发的、跨平台的网络服务器

标签 python http wsgi

我最近一直在编写大量较小的 wsgi 应用程序,并且正在寻找可以分发的网络服务器,预配置为运行特定的应用程序。我知道 twisted 和 cherrypy 之类的东西可以提供 wsgi 应用程序,但它们似乎缺少对我来说的一个关键功能,即使用 http 范围 header “伪流”大文件的能力。是否有在 BSD 或类似许可下可用的 Web 服务器,它可以作为独立的可执行文件在任何主要平台上分发,该平台能够代理到 wsgi 服务器(如 cherrypy 等)并使用 http 提供大文件范围标题?

最佳答案

Lighttpd 有 BSD 许可证,因此如果您愿意,您应该可以将其捆绑。

您说它适用于小型应用程序,所以我猜这意味着小型、本地、单用户 Web 界面由小型 http 服务器提供服务?如果是这样,那么任何 python 实现都应该可以工作。用py2exe之类的东西打包就可以了(事实上,不久前SO上有一个关于打包python程序的问题)。

更新,回复:范围 header : 默认的 python http 服务器可能不支持您想要的范围 header ,但是编写您自己的处理程序或小型 wsgi 应用程序来执行逻辑非常容易,尤其是当您所做的只是流式传输文件时。行数不会太多:

def stream_file(environ, start_response):
  fp = open(base_dir + environ["PATH_INFO"])
  fp.seek(environ["HTTP_CONTENT_RANGE"]) # just an example
  start_response("200 OK", (('Content-Type', "file/type")))
  return fp

关于python - 最小的、独立的、可分发的、跨平台的网络服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/499084/

相关文章:

python - Loop For 和 Zip(),选择要打印的记录数

python - 如何将 mousePressEvent 从 QItemDelegate 传递给 QTableView

ajax - 使用 Bigcommerce 向 API 发出 HTTP 请求时遇到问题

python - 我如何为我的 Flask 应用程序使用 WSGI?我的应用程序使用线程

python - 如何删除特定类别的标签?

python - 当重复的行具有不同的值时,如何将它们合并为 DataFrame 上的一个

javascript - 自定义请求 header 未随 JavaScript 获取请求一起发送

python - 来自 swagger-server 的 JSON 响应在单引号中收到,机器人框架验证失败,因为 json.loads 失败

python - 如何从 wsgi 应用程序返回 apache 错误页面?

python - 创建可访问 app_globals 的 Pylons 线程