title: Inner workings of WCF web.config file
body: <p>Looking for a explanation of the inner workings of WCF web.config file. Specifically these sections.
  I have an idea of what they mean but what I'm really looking for is an explanation of the inner workings. For example on 
  
  <pre><code>&lt;system.serviceModel&gt;
  &lt;serviceHostingEnvironment multipleSiteBindingsEnabled="true" /&gt;
  &lt;protocolMapping&gt;
    &lt;add scheme="http" binding="wsHttpBinding" bindingConfiguration="" /&gt;
  &lt;/protocolMapping&gt;
  
  &lt;services&gt;
    &lt;service behaviorConfiguration="DevelopmentBehavior" name="MyCo.Administration.AdminSvcs.AdministrationSvc"&gt;
      &lt;endpoint address="" binding="wsHttpBinding" contract="MyCo.Administration.AdminSvcs.IAdministrationSvc" bindingConfiguration="DevelopmentBinding" /&gt;
      &lt;endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /&gt;
    &lt;/service&gt;
  &lt;/services&gt;
  
  &lt;behaviors&gt;
    &lt;serviceBehaviors&gt;
      &lt;behavior name="ProductionBehavior"&gt;
        &lt;serviceMetadata httpGetEnabled="false" /&gt;
        &lt;serviceDebug includeExceptionDetailInFaults="false" /&gt;
      &lt;/behavior&gt;
      &lt;behavior name="DevelopmentBehavior"&gt;
        &lt;serviceMetadata httpGetEnabled="true" /&gt;
        &lt;serviceDebug includeExceptionDetailInFaults="true" /&gt;
      &lt;/behavior&gt;
    &lt;/serviceBehaviors&gt;
  &lt;/behaviors&gt;
  
  &lt;bindings&gt;
    &lt;wsHttpBinding&gt;
      &lt;binding name="DevelopmentBinding"&gt;
        &lt;security mode="None"&gt;
          &lt;transport clientCredentialType="None" /&gt;
          &lt;message establishSecurityContext="false" /&gt;
        &lt;/security&gt; 
      &lt;/binding&gt;
    &lt;/wsHttpBinding&gt;
  &lt;/bindings&gt;
  </code></pre>
  
  <p></p>