none
BasicHttpBinding vs. WSHttpBinding

    Question

  • I was using a WCF Cleitn and service, and I noticed that the BasicHttpBinding runs a bit faster than the WSHttpBinding.

    What are the differences between the 2.

    Why is BasicHttpBinding faster.

    Do both do encryption, etc ?

    What are the basic differences
    Friday, October 27, 2006 9:09 PM

Answers

  • Hi;

    Basically, WSHttpBinding messaging is based on SOAP 1.2 and WS-Addressing Specifications while BasicHttpBinding messaging is based on SOAP 1.1 specifications. Implementing the WS-Addressing specifications enables more features in this binding like asynchronous messaging, message correlation, and transport-neutral addressing mechanisms which for sure adds some processing overhead.

    In addition, BasicHttpBinding provides fewer security options which are Message security, User name token,  Kerberos and X509 tokens. WSHttpBinding provides more in addition to the list above which are WS-Trust and WS Secure conversation.

    In Additions WSHttpBinding supports reliable messaging, atomic and distributed transactions.

    Some usefull URLs...

    Understanding WS-Addressing: http://msdn.microsoft.com/webservices/webservices/understanding/specs/default.aspx?pull=/library/en-us/dnglobspec/html/ws-addressing.asp

    WCF Security Breif: http://msdn.microsoft.com/msdnmag/issues/06/08/SecurityBriefs/default.aspx

     

     

     

     

     

    Friday, October 27, 2006 9:59 PM
  •  

    BasicHttpBinding is a WS-I Basic Profile [1] binding; it does not implement any advanced WS-* specs and sticks with SOAP over HTTP(S).  Due to the binding's simplicity it enables a higher level of interoperability with existing web service client and services.

    The WSHttpBinding implements the advanced WS-* specs  including WS-Addressing and WS-Security enabling for more advanced messaging scenarios but also reduces the reach of your services and clients.

    The reason you are probably seeing the perf gain with the BasicHttpBinding is because it is disables security by default while the WSHttpBinding has security enabled by default. 

    BasicHttpBinding only supports confidentiality through SSL at the transport level.

    WSHttpBinding supports it both at the transport level (SSL) and at the message level (WS-Security).

    HTH,

    Dave

    [1] - http://www.ws-i.org/

    Friday, October 27, 2006 10:06 PM

All replies

  • Hi;

    Basically, WSHttpBinding messaging is based on SOAP 1.2 and WS-Addressing Specifications while BasicHttpBinding messaging is based on SOAP 1.1 specifications. Implementing the WS-Addressing specifications enables more features in this binding like asynchronous messaging, message correlation, and transport-neutral addressing mechanisms which for sure adds some processing overhead.

    In addition, BasicHttpBinding provides fewer security options which are Message security, User name token,  Kerberos and X509 tokens. WSHttpBinding provides more in addition to the list above which are WS-Trust and WS Secure conversation.

    In Additions WSHttpBinding supports reliable messaging, atomic and distributed transactions.

    Some usefull URLs...

    Understanding WS-Addressing: http://msdn.microsoft.com/webservices/webservices/understanding/specs/default.aspx?pull=/library/en-us/dnglobspec/html/ws-addressing.asp

    WCF Security Breif: http://msdn.microsoft.com/msdnmag/issues/06/08/SecurityBriefs/default.aspx

     

     

     

     

     

    Friday, October 27, 2006 9:59 PM
  •  

    BasicHttpBinding is a WS-I Basic Profile [1] binding; it does not implement any advanced WS-* specs and sticks with SOAP over HTTP(S).  Due to the binding's simplicity it enables a higher level of interoperability with existing web service client and services.

    The WSHttpBinding implements the advanced WS-* specs  including WS-Addressing and WS-Security enabling for more advanced messaging scenarios but also reduces the reach of your services and clients.

    The reason you are probably seeing the perf gain with the BasicHttpBinding is because it is disables security by default while the WSHttpBinding has security enabled by default. 

    BasicHttpBinding only supports confidentiality through SSL at the transport level.

    WSHttpBinding supports it both at the transport level (SSL) and at the message level (WS-Security).

    HTH,

    Dave

    [1] - http://www.ws-i.org/

    Friday, October 27, 2006 10:06 PM