为什么我们使用HTTP而不是远程调用?

时间:2011-01-30 23:11:30

标签: http rmi corba

嘿 首先,这是一个概念性问题,我不知道StackOverflow是否合适 - 所以如果我错了,我会道歉。

如今,网络不仅用于传递原始信息。许多特别复杂的Web应用程序正在使用中。这些Web应用程序似乎非常复杂,使用基于简单数据交换的HTTP协议似乎是不合理的,而且它是无状态的。

对这个Web应用程序使用远程调用会不会更有说服力?我的主要优势是使用HTML统一GUI。但是有一些应用程序,它们不需要图形界面,然后它就达到了HTTP协议非常繁琐的程度。

4 个答案:

答案 0 :(得分:3)

简短回答:允许HTTP通过防火墙,其他协议将被阻止。

答案 1 :(得分:1)

简短的部分答案是:首先,由于历史原因,自Web发布以来就使用HTTP作为请求文档的协议,并且此后用于某些不同的目的。继续使用它的一个原因是它通常在端口80上提供,您可以确定它不会被客户端和服务器之间的防火墙阻止。协议的无状态可能并不总是你想要的,但它至少具有保护服务器端免受非常微不足道的重载问题的优势。

答案 2 :(得分:0)

  • 操作系统独立性
  • 防火墙传递
  • 在负载平衡,服务器崩溃等方面,Web服务器已经是一个很好理解且主要是“解决”的问题。
  • 不必重新发明轮子

答案 3 :(得分:0)

现在越来越多地使用其他协议,包括远程调用和(我特别熟悉的)WCF(允许二进制TCP / IP数据传输)。

这使得数据可以更快地传输到需要更多带宽的应用程序。例如,n层应用程序可以在应用程序层和表示层之间使用WCF二进制传输。公共Web服务也允许多种协议,包括二进制。

对于数据传输协议,应该配置防火墙(即,专门为您的应用程序公开一个端口),而不是解决,我不建议使用协议,因为防火墙不会阻止它。

使用的协议实际上取决于谁将使用它以及您对消费的控制 - 例如,外部第三方可能需要具有通常的agrreed数据接口的纯文本版本。另一方面,单个Web应用程序中的两个层可能能够利用二进制数据传输来提高性能和安全性。

相关问题