2011-01-30 103 views
0

嘿, 首先这是一个概念性问题,我不知道是否StackOverflow是合适的地方 - 所以如果我错了,我很抱歉。为什么我们使用HTTP而不是远程调用?

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

对这个Web应用程序使用远程调用会不会更令人信服?我认为最大的好处是通过使用HTML来实现统一的GUI。但有些应用程序不需要图形界面,然后到了HTTP协议非常繁琐的地步。

+2

我认为这属于程序员SE,但我不确定。任何人? – 2011-01-30 23:14:03

回答

3

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

1

一个简短的部分答案是:首先,出于历史原因 - 从Web开始作为请求文档的协议使用HTTP,并且此后用于一些不同的目的。继续使用它的一个原因是它通常在端口80上运行,您可以确信它不会被客户端和服务器之间的防火墙阻止。协议的无状态可能并不总是你想要的,但它至少具有保护服务器端免受非常小的过载问题的优点。

0
  • OS独立
  • 防火墙通过
  • Web服务器已经在负载均衡,服务器争先恐后等方面有很好的理解,大部分“解决”问题
  • 不必重新发明轮子
0

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

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

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

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

相关问题