webHttpBinding is the REST-style binding, where you basically just hit a URL and get back a truckload of XML or JSON from the web service
basicHttpBinding and wsHttpBinding are two SOAP-based bindings which is quite different from REST. SOAP has the advantage of having WSDL and XSD to describe the service, its methods, and the data being passed around in great detail (REST doesn't have anything like that - yet). On the other hand, you can't just browse to a wsHttpBinding endpoint with your browser and look at XML - you have to use a SOAP client, e.g. the WcfTestClient or your own app
basicHttpBinding and
wsHttpBinding, there differences are as follows:
basicHttpBinding is the very
basic binding - SOAP 1.1, not much in terms of security, not much else
in terms of features - but compatible to just about any SOAP client out
there --> great for interoperability, weak on
features and securitywsHttpBinding is the full-blown
binding, which supports a ton of WS-* features and standards - it has
lots more security features, you can use sessionful connections, you can
use reliable messaging, you can use transactional
control, you can use streaming for large data - just a lot more stuff,
but wsHttpBinding is also a lot *heavier" and adds a lot of overhead to
your messages as they travel across the network