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.But there are many differences between the two bindings.
Following table explains the difference between
BasicHttpBinding and WsHttpBinding.
|
BasicHttpBinding |
WsHttpBinding |
1 |
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. |
2 |
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. |
3 |
BasicHttpBinding is based on SOAP 1.1 specification. |
WsHttpBinding supports SOAP 1.2 specification. |
4 |
No support for reliable Messaging. |
Supports for reliable messaging. |
5 |
No support for transactions. |
It supports atomic and distributed transactions. |
6 |
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. |
7 |
At transport level, it provides support for confidentiality through SSL. |
It supports for both Transport as well as Message level security. |
8 |
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. |