HttpListenerResponse.Headers Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the collection of header name/value pairs returned by the server.

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

public WebHeaderCollection Headers { get; set; }

Property Value

Type: System.Net.WebHeaderCollection

A WebHeaderCollection instance that contains all the explicitly set HTTP headers to be included in the response.

Exception Condition

The WebHeaderCollection instance specified for a set operation is not valid for a response.

Response headers contain metadata information such as the date and time of the response, the identity of the responding server, and the MIME type of the data contained in the response body.

For a complete list of response headers, see the HttpResponseHeader enumeration.


If you attempt to set a Content-Length, Keep-Alive, Transfer-Encoding, or WWW-Authenticate header using the Headers property, an exception will be thrown. Use the KeepAlive or ContentLength64 properties to set these headers. You cannot set the Transfer-Encoding or WWW-Authenticate headers manually.

The following code example demonstrates displaying the headers in a WebHeaderCollection.

    // Displays the header information that accompanied a request.
public static void DisplayWebHeaderCollection(HttpListenerResponse response)
    WebHeaderCollection headers = response.Headers;
    // Get each header and display each value.
    foreach (string key in headers.AllKeys)
        string[] values = headers.GetValues(key);
        if(values.Length > 0) 
            Console.WriteLine("The values of the {0} header are: ", key);
            foreach (string value in values) 
                Console.WriteLine("   {0}", value);
            Console.WriteLine("There is no value associated with the header.");

.NET Framework
Available since 2.0
Return to top