System.Web (system.web.dll)sealed class

The HttpRequest class wraps all information that a client browser passes to the server during an HTTP request. It includes client certificates, cookies, and values submitted through HTML form elements. You can access this information in its entirety as a System.IO.Stream object through the InputStream property, or you can use one of the more useful higher-level properties.

The QueryString property allows you to retrieve values from the URL's query string, which can transfer information from one ASP.NET page to another. This query string takes the form of a series of name/value pairs appended to the URL after a question mark (for example, the client request will result in a value of "hi" for Request.QueryString["var1"]). The QueryString collection is limited to string data and should not contain sensitive information, as it is clearly visible to the user. To ensure compatibility with all browsers, you should not store more than about 1000 bytes in the query string.

The HttpRequest class also exposes an HttpCookieCollection object in the Cookies property. This is a collection of client-side cookies that your script (or other scripts on your server) have created. They are transmitted to the server with each request in the HTTP Cookie header. This collection is read-only. If you want to modify or add a cookie, use the HttpResponse.Cookies property instead.

The HttpRequest class provides some frequently used, lower-level properties. For example, the Form collection wraps the information returned from the HTML form elements, which you will typically access through the higher-level web control abstraction. Similarly, the Headers and ServerVariables collections allow you to access HTML headers and server variables directly, provided you know their names. Many of these variables now have corresponding read-only properties that you can use more easily, like HttpMethod (the data transfer method like GET or POST), UserHostAddress (the IP address of the client), and UserHostName (the DNS name of remote client). The Browser property is a reference to an HttpBrowserCapabilities object with full information about the user's browser.

Additional information available in the HttpRequest class includes the currently requested URL (Url), the URL from which the request is being made (UrlReferrer), and the root path for the current ASP.NET application as a virtual path (ApplicationPath) or physical filesystem path (PhysicalApplicationPath).

public sealed class HttpRequest {
// Public Constructors
   public HttpRequest(string filename, string url, string queryString);
// Public Instance Properties
   public string[ ] AcceptTypes{get; }
   public string ApplicationPath{get; }
   public HttpBrowserCapabilities Browser{set; get; }
   public HttpClientCertificate ClientCertificate{get; }
   public Encoding ContentEncoding{set; get; }
   public int ContentLength{get; }
   public string ContentType{set; get; }
   public HttpCookieCollection Cookies{get; }
   public string CurrentExecutionFilePath{get; }
   public string FilePath{get; }
   public HttpFileCollection Files{get; }
   public Stream Filter{set; get; }
   public NameValueCollection Form{get; }
   public NameValueCollection Headers{get; }
   public string HttpMethod{get; }
   public Stream InputStream{get; }
   public bool IsAuthenticated{get; }
   public bool IsSecureConnection{get; }
   public NameValueCollection Params{get; }
   public string Path{get; }
   public string PathInfo{get; }
   public string PhysicalApplicationPath{get; }
   public string PhysicalPath{get; }
   public NameValueCollection QueryString{get; }
   public string RawUrl{get; }
   public string RequestType{set; get; }
   public NameValueCollection ServerVariables{get; }
   public string this[string key]{get; }
   public int TotalBytes{get; }
   public Uri Url{get; }
   public Uri UrlReferrer{get; }
   public string UserAgent{get; }
   public string UserHostAddress{get; }
   public string UserHostName{get; }
   public string[ ] UserLanguages{get; }
// Public Instance Methods
   public byte[ ] BinaryRead(int count);
   public int[ ] MapImageCoordinates(string imageFieldName);
   public string MapPath(string virtualPath);
   public string MapPath(string virtualPath, string baseVirtualDir, bool allowCrossAppMapping);
   public void SaveAs(string filename, bool includeHeaders);
   public void ValidateInput( );

Returned By

HttpApplication.Request, HttpContext.Request, System.Web.UI.Page.Request, System.Web.UI.UserControl.Request

Passed To

System.Web.Configuration.HttpCapabilitiesBase.GetConfigCapabilities( ), HttpContext.HttpContext( ), System.Web.Services.Protocols.MimeParameterReader.Read( ), System.Web.UI.MobileControls.Adapters.HtmlPageAdapter.DeterminePostBackMode( ), System.Web.UI.MobileControls.Adapters.WmlPageAdapter.DeterminePostBackMode( ), System.Web.UI.MobileControls.IPageAdapter.DeterminePostBackMode( )

    Part I: Introduction to ASP.NET
    Part III: Namespace Reference
    Chapter 40. The System.Web.UI.MobileControls Namespace
    Chapter 42. The System.Web.UI.WebControls Namespace