Trevor
Trevor

Reputation: 4860

Does the WCF HTTP binding run on TCP?

I'm trying to understand the difference between the standard bindings in WCF. As part of this, I'm reading WCF Bindings in Depth. Figure 2 shows that there are bindings whose transport is HTTP and some which are TCP. I'm confused b/c I thought HTTP was an application-level protocol, not a transport protocol -- and that HTTP ran on top of TCP. So by calling it an HTTP binding, are we to understand that it's actually running on HTTP on top of TCP?

Upvotes: 3

Views: 588

Answers (2)

burning_LEGION
burning_LEGION

Reputation: 13450

tcp/ip contains 4 layers:

application
transport
network
data link

you can use any layer, but wcf has binding which use transport and application layers, f.e. netTcpBinding and wsHttpBinding

tpc/ip does not same tcp layer

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

so http can be based at UDP protocol and it will be wsHttpBinding or if you choise tcp it will be netTcpBinding, this layer in below than http, and application is redundant

Upvotes: 0

Darin Dimitrov
Darin Dimitrov

Reputation: 1039298

So by calling it an HTTP binding, are we to understand that it's actually running on HTTP on top of TCP?

Yes, exactly. But that's implicit. Because HTTP runs on top of TCP.

The binary bindings (such as netTcpBinding) run directly on TCP. They do not use HTTP at all.

Upvotes: 3

Related Questions