当我想到制作一个基本的Web应用程序时,我会想到编写一些servlet,构建一个WAR文件,并将其部署在Tomcat或其他servlet容器中。
这很好,但无关紧要。这只是一种Java主义,在Java之外并不广泛应用。
在Python中,假设我编写了一些能够响应HTTP请求的代码,我会用它做什么?如何部署它?
这要视情况而定。
Python中最常用的容器是什么?
没有。
是否有 WAR 文件的等效项,即将 Web 应用程序标准打包为一个可在各种容器中工作的文件?
没有。
HTTP 是一种用于生成对请求的响应的协议。就是这样。这真的是一件非常小的事情。
你有可以响应请求的CGI脚本。Python库可以做到这一点。http://docs.python.org/library/cgi.html。cgi
这是相对低效的,因为简单的CGI规则是“为每个请求触发一个新进程”。如果脚本允许提升的权限或计划不当的上载,则也可能不安全。
你有将Apache连接到Python的框架。这可以像CGI一样,也可以在命名管道的末端运行一个专用的Python“守护进程”。mod_wsgi
WSGI标准定义了一种非常方便且可扩展的请求和响应处理格式。大多数框架 - 以某种方式 - 都是WSGI兼容的。
最后,还有更完整的框架,包括请求和响应的类定义,URL解析,身份验证,授权等。
下面是一个列表:http://wiki.python.org/moin/WebFrameworks