What's the difference between HttpResponseMessage and HttpWebResponse?
.net, c#, httpresponse
Solution
They both serve the same purpose.
- `HttpWebRequest`/`HttpWebResponse` are available since the first version of .NET, and are still a perfectly valid approach.
- `HttpClient` (which uses `HttpRequestMessage` and `HttpResponseMessage` to represent requests and responses) has been introduced in .NET 4.5, and offers a fully asynchronous API, along with a new model for request and response content; internally, it still relies on `HttpWebRequest`/`HttpWebResponse`.
An important difference is that `HttpWebRequest/Response` represent the request and response from a client point of view only, whereas `HttpRequestMessage/HttpResponseMessage` can be use by either a client or a server (ASP.NET Web API uses these types to communicate with the client).
You can use the one you're most comfortable with; just be aware that since `HttpClient` is asynchronous, the code that uses it must be asynchronous as well.
Problem
They both seem to be different ways of handling responses to the client. More detail about my problem: I have a server in which when I receive a request from a client I want to call a second server and return the response from that second server to my client.