HttpWebRequest.ProtocolVersion Property

Gets or sets the version of HTTP to use for the request.

Namespace:  System.Net
Assembly:  System (in System.dll)

public Version ProtocolVersion { get; set; }

Property Value

Type: System.Version
The HTTP version to use for the request. The default is HttpVersion.Version11.


The HTTP version is set to a value other than 1.0 or 1.1.

The HttpWebRequest class supports only versions 1.0 and 1.1 of HTTP. Setting ProtocolVersion to a different version throws an exception.


To set the HTTP version of the current request, use the Version10 and Version11 fields of the HttpVersion class.

The following code example sets the ProtocolVersion Property.

			// Create a new 'HttpWebRequest' Object to the mentioned URL.
			HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create("");
			// Use the existing 'ProtocolVersion' , and display it onto the console.	
			Console.WriteLine("\nThe 'ProtocolVersion' of the protocol used is {0}",myHttpWebRequest.ProtocolVersion);
			// Set the 'ProtocolVersion' property of the 'HttpWebRequest' to 'Version1.0' .
			 // Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
			 HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
			Console.WriteLine("\nThe 'ProtocolVersion' of the protocol changed to {0}",myHttpWebRequest.ProtocolVersion);
			Console.WriteLine("\nThe protocol version of the response object is {0}",myHttpWebResponse.ProtocolVersion);

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft