ASP.NET.in.a.Nutshell.Second.Edition [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

ASP.NET.in.a.Nutshell.Second.Edition [Electronic resources] - نسخه متنی

G. andrew Duthie; matthew Macdonald

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید










Chapter 16. The HttpRequest Class


The HttpRequest class is
ASP.NET's replacement for ASP's
Request intrinsic object. Because the HttpRequest
class instance for a given ASP.NET page is exposed as the Request
property of the Page class (from which all pages
are derived), you can code to the HttpRequest
class just as you did in ASP. Thus, your existing ASP code will be
that much easier to migrate.

The HttpRequest class is used to access
information related to a particular HTTP request made by a web
client. The HttpRequest class provides access to
this information through its properties, collections, and methods.

Each HTTP request from a client consists of an HTTP header and,
optionally, a body. The header and body are separated by a blank
line. The code following shows a typical HTTP request (without a
body):

GET /ASPdotNET_iaN/Chapter_16/showHTTP.aspx HTTP/1.0
Connection: Keep-Alive
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Charset: iso-8859-1,*,utf-8
Accept-Encoding: gzip
Accept-Language: en
Host: localhost
User-Agent: Mozilla/4.08 [en] (WinNT; U ;Nav)

The first line of the HTTP header contains the request type, followed
by a space, followed by the requested URL (URI), another space, and
the HTTP version number. In the previous example, the request type is
GET, the URL is

/ASPdotNET_iaN/Chapter_16/showHTTP.aspx (this
URL is relative to the server or domain name), and the HTTP version
is 1.0.


HTTP Request Types


The current HTTP 1.1 standard (which can be
found at http://www.w3.org/Protocols/rfc2616/rfc2616l)
defines the valid request types for an HTTP request. These types are:

  • OPTIONS

  • GET

  • HEAD

  • POST

  • PUT

  • DELETE

  • TRACE

  • CONNECT


While this list shows the valid request types, only the GET and HEAD
are required to be supported by general-purpose servers. In practice,
most, if not all, requests you'll deal with will be
GET and POST type requests.

GET requests simply ask the server to return a resource (such as an
HTML or ASP.NET page) specified by the URL passed with the request.
GET requests can also pass data to the server by appending it to the
URL in the following format:

GET /Chapter_16/showHTTP.aspx?name=andrew HTTP/1.0

This GET request fragment passes a key/value pair with the value
"andrew" represented by the key
"name." When more than one
key/value pair is passed, each pair is separated by the
ampersand (&) character. When
using GET requests for passing data, in most cases, data passed with
a GET request is limited to around 2K, which is limiting for complex
or lengthy data. Pages using data passed by a GET request may be
subject to alteration by a user before the request is made. Any data
received via a GET request should be validated to ensure that
processing or storing it will not cause an undesirable result.

POST requests are used to post data to the server. Like GET requests,
this data is passed as one or more key/value pairs, separated by
ampersands. Unlike GET requests, the key/value pairs in a POST
request are passed in the request body:

POST /Chapter_16/showHTTP.aspx HTTP/1.0
name=andrew

While we can gain much information from the text of an HTTP request
header (which can be accessed either as a URL-encoded string in the
Headers collection or by saving the request to disk by using the
SaveAs method), having to parse the text each time we wanted to find
a particular piece of information would be a pain.

The HttpRequest class does this work for us,
allowing us to deal only with the specific piece(s) of information
that we're interested in. Table 16-1 lists the properties, collections, and methods
exposed by the HttpRequest class.

Table 16-1. HttpRequest class summary

Properties


Collections


Methods (public instance)


AcceptTypes


Cookies


BinaryRead


ApplicationPath


Files


MapPath


Browser


Form


SaveAs


ClientCertificate


Headers


ContentEncoding


Params


ContentLength


QueryString


ContentType


ServerVariables


FilePath


HttpMethod


InputStream


IsAuthenticated


IsSecureConnection


Path


PathInfo


PhysicalApplicationPath


PhysicalPath


RawUrl


RequestType


TotalBytes


Url


UrlReferrer


UserAgent


UserHostAddress


UserHostName


UserLanguages


Collections


/ 873