title: Does every successful HTTP request always return status code 200?
body: <p>In Delphi, I'm using Indy's <code>TIdHTTPWebBrokerBridge</code> coupled with <code>TIdHTTP</code> to send/receive data via HTTP. On the Server, I don't have any fancy handling, I always just respond with a simple content stream. If there's any issues, I only return information about that issue in the response content (such as authentication failed, invalid request, etc.). So, on the client side, can I assume that every successful request I make to this server will always have a response code of 200 (OK)?</p>
  
  <p>I'm wondering because on the client, the requests are wrapped inside functions which return just a boolean for the success of the request.</p>
  
  <p>Inside this function:</p>
  
  <pre><code>IdHTTP.Get(SomeURL, AStream);
  Result:= IdHTTP.ResponseCode = 200;
  </code></pre>
  
  <p>This function handles any and every request which could possibly fetch data. If there were any issues in the request, This function should return False. In my scenario, since I always return some sort of content on the server, would the client always receive a response code of 200 in this function?</p>
  
  <p>I guess the real question is, if I always return some sort of content and handle all exceptions on the server, then will the server always return status code of 200 to each request?</p>