When a web server responds to `HttpWebRequest.GetResponse()` with HTTP 304 (Not Modified), `GetResponse()` thows a `WebException`, which is so very weird to me. Is this by design or am I missing something obvious here?