title: wcf Binding configuration and security
body: <p>I'm reading a book on Wcf. I always get confused when there is topic on binding configuration. Eg. In one chapter for securing service in internet environment, author used the following code in the config file. </p>
  
  <pre><code>&lt;bindings&gt;
   &lt;wsHttpBinding&gt;
    &lt;binding name="ProductsServiceWSHttpBindingConfig"&gt;
     &lt;security mode="TransportWithMessageCredential"&gt;
      &lt;transport clientCredentialType="None"/&gt;
      &lt;message clientCredentialType="UserName"/&gt;
     &lt;/security&gt;
    &lt;/binding&gt;
   &lt;/wsHttpBinding&gt;
  &lt;/bindings&gt;
  </code></pre>
  
  <p>Everything works fine as described in the book. But I don't see any description in book, why <code>TransportWithMessageCredential</code> is used in place of <code>Transport</code>. Similarly why the <code>&lt;transport ...</code> is <code>None</code> and <code>&lt;message ...</code> is not <code>None</code>. Is there any matrix (or any other way to figure out) about which options to use with which binding (and in which environment)? My hunch is that certain options will go with certain binding. Thanks in advance.</p>