Difference between BasicHttpBinding and WsHttpBinding

By | August 27, 2012

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. Although these two bindings can work with WCF specific systems as well. But there are many differences between the two bindings. 

Following table explains the difference between BasicHttpBinding and 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.


Other Related Articles:

Top 10 Interview Questions and Answers Series:

  • Muhammad Shamseer

    I think as per WCF 4, BasicHttpBinding support security by default. Please correct if I am wrong

  • http://www.blogger.com/profile/10867674357364468276 imranghani

    Hi anonymous,
    You are right and same I explained at point # 6 for BasicHttpBinding.

    “It has fewer security options. Or we can say, there is no security provided, by default, for BasicHttpBinding.”

  • Anonymous
  • http://www.blogger.com/profile/17553646714631257167 Саня Бондаренко