HttpWebRequest is a class for .NET Framework applications that provides a HTTP-specific implementation of the WebRequest class.
WebClient is a class for .NET Framework applications that provides methods for sending and receiving data from a resource identified by a URI.
Higher order milliseconds
|Class more idiomatic||
"Also i think the webclient class is more idiomatic these days than hand rolling httpwebrequest"
from question "Do you need background workers or multiple threads to fire multiple Async HttpWebRequests?"
"Because webclient is higher class of httpwebrequest and its slower"
from question "Calling SOAP Service in Visual Studio 2012 without Service Reference"
"Using webclient is potentially slightly on the order of a few milliseconds slower than using httpwebrequest directly"
from question "Is HttpWebRequest or Webclient faster"
"Webclient has a much simpler interface than httpwebrequest and takes care of reading and writing from the streams for you"
from question "How do I communicate with an HTTPLISTENER that I have created?"
"I d rather use webclient because it requires less code than httpwebrequest httpwebresponse"
from question "POST variables to web server?"
"So simply httpwebrequest is better option then webclient"
from question "Using WebClient c#"
"Webclient is easier but httpwebrequest is more powerful and allows for more control"
from question "Get html elements of <tr>....</tr> by creating a httpwebrequest in c#"
"You can also use webclient which is much simpler than httpwebrequest but in order to set a cookiecontainer you ll need to derive from webclient and override the protected getwebrequest method"
from question "HTTP/.NET: How do I post some data and then work within that session?"
"Httpwebresponse and httpwebrequest are a little bit lower level than webclient"
from question "Zend_Http_Client() equivalent in C#"