因此,我考虑用Lisp或其他功能语言创建web应用程序,并考虑将web服务器嵌入到应用程序中(让我的应用程序处理HTTP请求)。我不认为有任何问题,然而,我是新的创建web应用程序(以及在大的事情,编程以及)。在您的程序中处理HTTP请求而不是使用web服务器有什么缺点吗?有什么好处吗?
发布于 2011-03-14 12:02:22
处理您自己的HTTP请求而不是使用现有的web服务器来服务器您的应用程序的主要缺点是,在构建能够更快、更安全地处理HTTP请求的web服务器上花费了无数小时的开发时间,这比您自己编写的任何代码都要快。如果您担心开销,您可以使用FastCGI或特定于您的语言的模块(用于Python的wsgi)来尝试轻量级的http服务器(如Lighttpd或nginx ),以及您的应用程序、LISP或其他任何类型的服务器。
或者,您可以始终使用Lighttpd或NGinx作为静态内容,并向应用程序或应用程序服务器提供动态内容的代理请求。
发布于 2011-03-14 13:05:49
在您真正正确回答这个问题之前,您必须考虑web处理程序的要求是什么,以及您正在做的交互类型是什么?根据您正在做的事情,赞成/反对的集合可能不同:
归根结底,嵌入式服务器可以做很多工作。您可能可以嵌入其他人为节省一些时间而创建的开源web服务器。事实上,这是Rails和基于Maven的web应用程序项目用于进行内部测试的方法。他们将web服务器嵌入到构建基础设施中,从而使项目的工作更加容易。然而,这两类项目的最终目标是将产品部署在外部web服务器上。
发布于 2011-03-14 15:25:58
我会在我的应用程序中嵌入一个web服务器的唯一原因是,如果我有一个合理的期望,它将被安装在一个我无法期待或需要一个独立的web服务器的环境中。请记住,您的应用程序可能必须与其他web服务器共存,因此它必须是可配置的(特别是端口)。这是您想要求用户做的配置吗?
如果这是一个试验性的应用程序,用户基础有限,你想玩,那就去吧!但在“现实世界”中,你几乎永远不会想这样做,就像其他人提到的那样。我以前已经实现了自己的web服务器,一旦您需要做的不仅仅是提供静态页面和一个简单的应用程序,它很快就会变成大量的代码(即使您忽略了安全性和可伸缩性)。
https://softwareengineering.stackexchange.com/questions/57811
复制相似问题