Ruby on rails 无法在Rails中区分应用程序服务器和Web服务器

Ruby on rails 无法在Rails中区分应用程序服务器和Web服务器,ruby-on-rails,Ruby On Rails,我只是混淆了应用服务器和web服务器的区别。 据我所知,web服务器处理用户请求、从数据库中提取数据并将其呈现给用户等等 现在我的问题是应用服务器在web应用程序中做什么?? 为什么将app server与web服务器一起使用很有用???web服务器专门处理HTTP请求,而应用服务器通过任意数量的协议为应用程序提供业务逻辑 示例 作为一个例子,考虑一个提供实时定价和可用性信息的在线商店。最有可能的是,该网站将提供一个表单,您可以使用该表单选择产品。提交查询时,站点将执行查找并返回嵌入HTML页面

我只是混淆了应用服务器和web服务器的区别。 据我所知,web服务器处理用户请求、从数据库中提取数据并将其呈现给用户等等

现在我的问题是应用服务器在web应用程序中做什么??
为什么将app server与web服务器一起使用很有用???

web服务器专门处理HTTP请求,而应用服务器通过任意数量的协议为应用程序提供业务逻辑

示例

作为一个例子,考虑一个提供实时定价和可用性信息的在线商店。最有可能的是,该网站将提供一个表单,您可以使用该表单选择产品。提交查询时,站点将执行查找并返回嵌入HTML页面中的结果。站点可以通过多种方式实现此功能。我将向您展示一个不使用应用程序服务器的场景和另一个使用应用程序服务器的场景。了解这些场景的不同将帮助您了解应用程序服务器的功能

场景1:没有应用服务器的Web服务器

在第一个场景中,Web服务器单独提供在线商店的功能。Web服务器接收您的请求,然后将其传递给能够处理该请求的服务器端程序。服务器端程序从数据库或平面文件中查找定价信息。一旦检索到,服务器端程序将使用这些信息制定HTML响应,然后Web服务器将其发送回Web浏览器

总而言之,Web服务器只是通过响应HTML页面来处理HTTP请求。

场景2:带有应用服务器的Web服务器

场景2类似于场景1,因为Web服务器仍然将响应生成委托给脚本。但是,现在可以将定价查找的业务逻辑放到应用程序服务器上。有了这个更改,脚本就可以简单地调用应用服务器的查找服务,而不必知道如何查找数据和制定响应。然后,当脚本生成其HTML响应时,脚本可以使用服务的结果

在这个场景中,应用服务器为查找产品定价信息的业务逻辑提供服务。该功能没有说明任何关于显示或客户端必须如何使用信息的内容。相反,客户端和应用服务器来回发送数据。当客户端调用应用服务器的查找服务时,该服务只需查找信息并将其返回给客户端

通过将定价逻辑与HTML响应生成代码分离,定价逻辑在应用程序之间的可重用性大大提高。第二个客户,如收银机,也可以在职员为客户结账时呼叫相同的服务。相反,在场景1中,定价查找服务是不可重用的,因为信息嵌入在HTML页面中。总之,在场景2的模型中,Web服务器通过回复HTML页面来处理HTTP请求,而应用服务器通过处理定价和可用性请求来服务于应用程序逻辑


希望这是清楚的现在

Web服务器专门处理HTTP请求,而应用服务器通过任意数量的协议为应用程序提供业务逻辑

示例

作为一个例子,考虑一个提供实时定价和可用性信息的在线商店。最有可能的是,该网站将提供一个表单,您可以使用该表单选择产品。提交查询时,站点将执行查找并返回嵌入HTML页面中的结果。站点可以通过多种方式实现此功能。我将向您展示一个不使用应用程序服务器的场景和另一个使用应用程序服务器的场景。了解这些场景的不同将帮助您了解应用程序服务器的功能

场景1:没有应用服务器的Web服务器

在第一个场景中,Web服务器单独提供在线商店的功能。Web服务器接收您的请求,然后将其传递给能够处理该请求的服务器端程序。服务器端程序从数据库或平面文件中查找定价信息。一旦检索到,服务器端程序将使用这些信息制定HTML响应,然后Web服务器将其发送回Web浏览器

总而言之,Web服务器只是通过响应HTML页面来处理HTTP请求。

场景2:带有应用服务器的Web服务器

场景2类似于场景1,因为Web服务器仍然将响应生成委托给脚本。但是,现在可以将定价查找的业务逻辑放到应用程序服务器上。有了这个更改,脚本就可以简单地调用应用服务器的查找服务,而不必知道如何查找数据和制定响应。然后,当脚本生成其HTML响应时,脚本可以使用服务的结果

在这个场景中,应用服务器为查找产品定价信息的业务逻辑提供服务。该功能没有说明任何关于显示或客户端必须如何使用信息的内容。相反,客户端和应用服务器来回发送数据。当客户端调用应用服务器的查找服务时,该服务只需查找信息并将其返回给客户端

通过将定价逻辑与HTML响应生成代码分离,定价逻辑在应用程序之间的可重用性大大提高。第二个客户,如收银机,也可以在职员为客户结账时呼叫相同的服务。相反,在场景1中,由于inf