码迷,mamicode.com
首页 > Web开发 > 详细

最小,独立,可分发的跨平台Web服务器

时间:2019-09-26 09:15:03      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:pytho   应该   web服务   解决方案   运行   dir   wsgi   ase   print   

最近,我一直在编写大量较小的wsgi应用程序,并希望找到一个可以分布式,预先配置为运行特定应用程序的Web服务器。我知道有些东西可以用于wsgi应用程序,例如twisted和cherrypy,但它们似乎缺少我的一项关键功能,即使用http range标头“伪流”大文件的功能。是否有根据BSD或类似许可证提供的Web服务器,可以作为独立可执行文件分发到任何主要平台上,该平台既可以代理as wsgi服务器(如Cherrypy等),又可以使用http服务大型文件范围标头?

 

解决方案


Lighttpd具有BSD许可证,因此,如果需要,您应该能够捆绑它。

您说它是针对小型应用程序的,所以我想这意味着小型http服务器为小型本地,单用户Web界面提供服务吗?如果真是这样,那么任何python实现都应该起作用。只需使用py2exe之类的东西对其进行打包(实际上,不久前在SO上存在与打包python程序有关的问题)。

更新,重新:范围标头:默认的python http服务器可能不支持您想要的范围标头,但是编写自己的处理程序或使用小型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黑洞网,博客园同步更新

最小,独立,可分发的跨平台Web服务器

标签:pytho   应该   web服务   解决方案   运行   dir   wsgi   ase   print   

原文地址:https://www.cnblogs.com/pythonzhichan/p/11588710.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!