while learning WCF , I found WCF supports HTTP , TCP , Named Pipes and MSMQ as transport protocol.But, Http is application layer protocol and it uses TCP as tranport protocol.
So, what does – Http as transport protocol in WCF – means , when it uses TCP as transport layer.
while learning WCF , I found WCF supports HTTP , TCP , Named Pipes
Share
From a network stack perspective, other than TCP, all of the things you listed are application-layer protocols that communicate over TCP (at least, on any modern system).
As far as WCF is concerned, though, none of that matters. A “Transport protocol” in this sense is exactly what is says — its a protocol for transporting information from endpoint to endpoint. In this sense, the transport protocol defines things like the internal structure of the message, the delivery mechanism, what extra features are available, etc. When you look at all of those aspects, the HTTP, HTTPS, MSMQ, and Named Pipes protocols are all different from each other. But under the hood, eventually they’re all going to generate TCP packets. (You can build custom transports for WCF that use UDP but I don’t think any of the built-in ones can do so.)
In this context, it might be more appropriate to call the TCP transport a “raw TCP” transport. It uses a custom, low-level binary message format that is unique to WCF, and has much lower overhead than any of the other transport protocols. Technically, that message format is an application protocol layered on top of TCP, but it has no name and is completely internal to WCF, so it is simply called “the TCP transport protocol.”