Difference between BasicHttpBinding and WsHttpBinding

Microsoft Windows Communication Foundation comes with a set of built-in bindings and each binding is designed to fulfill some specific need. So, if interoperability is our concern and we need to communicate with non-WCF system, then, we should go for basicHttpBinding or wsHttpBinding.

BasicHttpBinding WsHttpBinding
Primarily BasicHttpBinding is designed to exchange SOAP over HTTP(s) only, just like old ASMX or .net web services and supports the WS-I BasicProfile. WsHttpBinding supports the advanced WS-* specification which includes WS-Addressing and WS-Security etc.
It has higher level of interoperability with existing services and clients. Due to more advanced messaging scenarios, it has reduced support for wider range of older clients.
BasicHttpBinding is based on SOAP 1.1 specification. WsHttpBinding supports SOAP 1.2 specification.
No support for reliable Messaging. Supports for reliable messaging.
No support for transactions. It supports atomic and distributed transactions.
It has fewer security options. Or we can say, there is no security provided, by default, for BasicHttpBinding. Because WsHttpBinding supports advanced WS-* specification, it has a lot more security options available. For example, It provides message-level security i.e. message is not sent in plain text. Also it supports for WS-Trust and WS-Secure conversation.
At transport level, it provides support for confidentiality through SSL. It supports for both Transport as well as Message level security.
BasicHttpBinding is a bit faster because security is disabled by default. As it supports advanced security options and its enabled by default, so it’s a bit slower than BasicHttpBinding.

© 2015, www.techkatak.com. All rights reserved.