WCF HTTP绑定是否在TCP上运行?

时间:2013-01-26 19:23:45

标签: wcf http tcp wcf-binding

我试图理解WCF中标准绑定之间的区别。作为其中的一部分,我正在阅读WCF Bindings in Depth。图2显示存在绑定,其传输是HTTP,一些是TCP。我很困惑b / c我认为HTTP是一个应用程序级协议,而不是传输协议 - 而且HTTP运行在TCP之上。因此,通过将其称为HTTP绑定,我们是否可以理解它实际上是在TCP上运行在HTTP上?

2 个答案:

答案 0 :(得分:2)

  

因此,通过将其称为HTTP绑定,我们是否应该理解它   实际上在TCP上运行HTTP?

是的,确切地说。但这是隐含的。因为HTTP运行在TCP之上。

二进制绑定(例如netTcpBinding)直接在TCP上运行。他们根本不使用HTTP。

答案 1 :(得分:0)

tcp / ip包含4层:

application
transport
network
data link

你可以使用任何图层,但是wcf具有使用传输和应用程序层的绑定,例如。 netTcpBindingwsHttpBinding

tpc / ip与tcp层不相同

application layer protocols f.e.: HTTP, RTP, FTP, DNS
transport layer protocols f.e.: TCP, UDP, SCTP, DCCP

所以http可以基于UDP协议,它将是wsHttpBinding 或者如果你选择tcp它将是netTcpBinding,这个层在下面而不是http,并且应用程序是多余的