title: Understanding httpGetEnabled and Mex binding
body: <p>In a WCF service, I have removed the default Mex binding and I have set the httpGetEnabled attribute in the default service behaviour to false.</p>
  
  <p>With this my understanding is that the service would not allow downloading of WSDL. However, the service's existing clients would work without trouble.</p>
  
  <p>Now, when I browse to the .svc in Internet Explorer, it advices 3 things to help me see the structure of .svc file.</p>
  
  <ol>
  <li>Create a behaviour for the service.</li>
  <li>In the serviceMetadata element, create httpGetEnabled attribute and set it to true.</li>
  <li>Create a mex binding end point. i.e </li>
  </ol>
  
  <p><code>&lt;endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /&gt;
  </code></p>
  
  <p>Now let me come to my question.</p>
  
  <p>When I just make the httpGetEnabled="true", I am able to download the WSDL.
  I can't see the significance of mex endpoint here. </p>
  
  <p>What is the real significance of mex end point here? What is the need for creating a mex end point when just httpGetEnabled gives me option to download WSDL?</p>