我是网络世界的新手,因此对幕后的工作方式感到有些困惑。这对我来说决定为我的服务选择哪种绑定很重要。我的印象是网络上的通信主要通过TCP / IP协议进行。我经历了TCP / IP协议,根据我的理解,HTTP是一个应用层协议。在后台,应用层与传输层进行通信,传输层使用TCP或UDP协议通过网络传递信息。如果是这种情况,那么使用HTTP协议会是什么?我确信这个谜题中缺少一些东西,但我无法找出它是什么?
答案 0 :(得分:0)
答案 1 :(得分:0)
首先,W3C在1991年回复Why a new protocol?。虽然他们基本上说它不是邮件,文件传输,新闻或搜索。
但我觉得你的问题是为什么要使用wsHttpBinding,因为它下面都是TCP。 Microsoft的netTCPBinding是Microsoft专有协议。它旨在当C#位于管道的两端时使用,此外它主要针对两端的开发将由单个实体管理,即单个开发人员,团队或企业集团。因为正确获取数据类型可能会非常棘手。在NetTcpBinding Class的备注中,我们发现:
此绑定是适当的Windows Communication Foundation(WCF) 系统提供的通过Intranet进行通信的选择。
NetTcpBinding的默认配置比 由WSHttpBinding提供的配置,但仅限于此目的 用于WCF到WCF的通信。
相比之下,wsHttpBinding的设计考虑了互操作性。它至少在某种程度上符合现有的Web服务标准。来自WSHttpBinding Class上的备注:
WSHttpBinding类似于BasicHttpBinding,但提供了更多 Web服务功能。它使用HTTP传输并提供消息 安全性,与BasicHttpBinding一样,但它也提供事务, 可靠的消息传递和WS-Addressing,默认情况下启用或 通过单一控制设置提供。
列出的大多数附加功能都是现代SOAP堆栈的一部分。
最后,对于那些反而发明他们的协议的人来说,本文将回答Why [you should use] HTTP?。