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

3

我正在尝试理解WCF中标准绑定之间的区别。作为其中的一部分,我正在阅读深入了解WCF绑定。图2显示有些绑定的传输是HTTP,而有些是TCP。我感到困惑,因为我认为HTTP是一个应用层协议,而不是传输协议——HTTP运行在TCP之上。因此,通过称它为HTTP绑定,我们是否可以理解为它实际上是在TCP上运行的HTTP?


对于可能有相同问题的其他人,可以通过谷歌搜索以下内容:Octet、以太网帧、IP数据包、TCP分段、HTTP。还可以参考http://www.vlsm-calc.net/models.php。我的问题源于对这些基本概念并不真正理解。 - Trevor
2个回答

3

所以称其为HTTP绑定,我们是否可以理解为它实际上是在TCP之上运行的HTTP?

没错,完全正确。但这是隐含的,因为HTTP是运行在TCP之上的。

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


0

TCP/IP 包含 4 层:

application
transport
network
data link

您可以使用任何层,但 WCF 具有使用传输和应用层的绑定,例如 netTcpBindingwsHttpBinding

TCP/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 以下,应用程序是冗余的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接