最小,獨立,可分發的跨平臺Web服務器

最近,我一直在編寫大量較小的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黑洞網,csdn同步更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章