title: When is a NSURLResponse not a NSHTTPURLResponse?
body: <p>I've seen a lot of code, including Apple's SimpleURLConnections sample, that simply cast any NSURLResponse to a NSHTTPURLResponse. If it is always a NSHTTPURLResponse why do the NSURLConnections not return NSHTTPURLResponse?</p>
  
  <p>I'm worried that if I simply downcast the response, I'm introducing buggy code. </p>
  
  <p>For instance, is it OK to do this without checking isKindOfClass?</p>
  
  <pre><code>- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
  {
   NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)redirectResponse;
   // do stuff
  }
  </code></pre>