深入了解 System.Web.HttpWorkerRequest
来源:互联网 发布:linux 查询文件大小 编辑:程序博客网 时间:2024/05/29 21:28
HttpWorkerRequest这个抽象类,相信大家用到的不多,然而我们不能忽略它的存在,在很多时候,合理的使用该类,能够实现许多意想不到 的事情,下面就让我们一起来看看HttpWorkerRequest到底为我们提供了那些方法(65个)和属性,以及有56个之多的公共字段:
首先先看看HttpWorkerRequest的公共方法,一共有以下65个(http://msdn2.microsoft.com/zh- cn/library/system.web.httpworkerrequest(VS.80).aspx):
其次,就是HttpWorkerRequest的56个公共字段,这些公共字段主要包括对HTTP请求标头()HTTP request header和相应标头(HTTP response header)的操作:
在System.Web.HttpRequest类中,为我们提供了一些获取Http Request信息的方法,这些方法实际上也是对Http请求标头和标体进行析取而得到的,直接使用HttpRequest类的方法来获取Http请求信息内容是特别方便的,所以当我们想要获取Http请求信息时,首先想到的应该是这个类,但是HttpRequest并没有为我们提供所有的信息获取方法,不过不用担心,我们还可以通过另外一个类来实现,那就是HttpWorkerRequest.
以下这些公共字段的索引号在HttpWorkerRequest中都有预先定义,类型为public const int,因此我们可以 对他们进行自定义,但考虑到安全性和完整性,在大部分情况下,我们不需要对其更改. 而事实上,更多的时候我们是通过这些索引号来获取 HTTP标头中的各种信息,这些信息丰富多样,其中有HTTP 请求的媒体类型(详见RFC 2616,标头类型域Accept的定义), HTTP请求的语言类型(详见RFC 2616,标头类型域Accept-Language的定义)以及 HTTP请求的标题,也就是HTTP实际内容的长度(详见RFC 2616,标头类型域Content-Length的定义)等.....
下面举个简单的例子来说明如何根据索引号来获取索引号所对应的标头地址(HeaderLocation):
public HttpWorkerRequest HwRequest;
string locationOfHttpHeader = HwRequest.GetKnownRequestHeader (HttpWorkerRequest.HeaderLocation);
下表来源于微软的在线MSDN,表中罗列出了HttpWorkerRequest类包含的所有公共字段以及公共字段的简单介绍,但是过于简单,在这里我 在每个公共字段说明的后面增加了该字段的默认索引号以及其所对应的HTTP协议标头类型的简要说明,希望能够对大家有些帮助:
HeaderAccept 指定 AcceptHTTP 标头的索引号。 int 20 指定接受方所能接受的相应的媒体类 型以及相关参数. HeaderAcceptCharset 指定 Accept-CharsetHTTP 标头的索引号。int 21 指定接受方所能接受的相应的字符集以及 相关参数. HeaderAcceptEncoding 指定 Accept-EncodingHTTP 标头的索引号。int 22 指定接受方所能接受的HTTP请求的编码或 压缩类型以及参数,"gzip" 或者 "compress"格式优先. HeaderAcceptLanguage 指定 Accept-LanguageHTTP 标头的索引号。int 23 指定接受方所能接受的语言种类以及相关 参数. HeaderAcceptRanges 指定 Accept-RangesHTTP 标头的索引号。int 20 指定接受方是否接受带请求范围的HTTP请求 ,比如设置Accept-Ranges: bytes,也就是指明接受方可以根据偏移单位向量(以bytes为单位)来指定接收范围. HeaderAge 指定 AgeHTTP 标头的索引号。int 21 划定某响应自原始服务器产生之时起所经历的时间长度 ,以秒为单位,主要用于cache,如果该HTTP响应的生命大于划定的时间长度,则该HTTP响应就是不"新鲜"(Not Fresh)的. HeaderAllow 指定 AllowHTTP 标头的索引号。int 10 定义一个位于请求URI中的资源所支持的HTTP方法列 表,如GET, HEAD, PUT,服务器不一定要支持这些方法,但必须返回一个所支持的方法列表.
HeaderAuthorization 指定 AuthorizationHTTP 标头的索引号。int 24 指定访问权(当用户需要划定自己所拥有的 资源的使用权时)并以在HTTP请求标头增加授权标头域的形式限定自己的资源使用权. HeaderCacheControl 表示 HTTPCache-ControlHTTP 标头的索引。int 0 用来定义缓存行为方式的通用标头. HeaderConnection 指定 ConnectionHTTP 标头的索引号。int 1 HeaderContentEncoding 指定 Content-EncodingHTTP 标头的索引号。int 13 HeaderContentLanguage 指定 Content-LanguageHTTP 标头的索引号。int 14 HeaderContentLength 指定 Content-LengthHTTP 标头的索引号。int 11 HeaderContentLocation 指定 Content-LocationHTTP 标头的索引号。int 15 HeaderContentMd5 指定 Content-MD5HTTP 标头的索引号。int 16 HeaderContentRange 指定 Content-RangeHTTP 标头的索引号。int 17 HeaderContentType 指定 Content-TypeHTTP 标头的索引号。int 12 HeaderCookie 指定 CookieHTTP 标头的索引号。int 25 HeaderDate 指定 DateHTTP 标头的索引号。int 2 HeaderEtag 指定 ETagHTTP 标头的索引号。int 22 HeaderExpect 指定 ExceptHTTP 标头的索引号。int 26 HeaderExpires 指定 ExpiresHTTP 标头的索引号。int 18 HeaderFrom 指定 FromHTTP 标头的索引号。int 27 HeaderHost 指定 HostHTTP 标头的索引号。int 28 HeaderIfMatch 指定 If-MatchHTTP 标头的索引号。int 29 HeaderIfModifiedSince 指定 If-Modified-SinceHTTP 标头的索引号。int 30 HeaderIfNoneMatch 指定 If-None-MatchHTTP 标头的索引号。int 31 HeaderIfRange 指定 If-RangeHTTP 标头的索引号。int 32 HeaderIfUnmodifiedSince 指定 If-Unmodified-SinceHTTP 标头的索引号。int 33 HeaderKeepAlive 指定 Keep-AliveHTTP 标头的索引号。int 3 HeaderLastModified 指定 Last-ModifiedHTTP 标头的索引号。int 19 HeaderLocation 指定 LocationHTTP 标头的索引号。int 23 HeaderMaxForwards 指定 Max-ForwardsHTTP 标头的索引号。int 34 HeaderPragma 指定 PragmaHTTP 标头的索引号。int 4 HeaderProxyAuthenticate 指定 Proxy-AuthenticateHTTP 标头的索引号。int 24 HeaderProxyAuthorization 指定 Proxy-AuthorizationHTTP 标头的索引号。int 35 HeaderRange 指定 RangeHTTP 标头的索引号。int 37 HeaderReferer 指定 RefererHTTP 标头的索引号。int 36 HeaderRetryAfter 指定 Retry-AfterHTTP 标头的索引号。int 25 HeaderServer 指定 ServerHTTP 标头的索引号。int 26 HeaderSetCookie 指定 Set-CookieHTTP 标头的索引号。int 27 HeaderTe 指定 TEHTTP 标头的索引号。int 38 HeaderTrailer 指定 TrailerHTTP 标头的索引号。int 5 HeaderTransferEncoding 指定 Transfer-EncodingHTTP 标头的索引号。int 6 HeaderUpgrade 指定 UpgradeHTTP 标头的索引号。int 7 HeaderUserAgent 指定 User-AgentHTTP 标头的索引号。int 39 HeaderVary 指定 VaryHTTP 标头的索引号。int 28 HeaderVia 指定 ViaHTTP 标头的索引号。int 8 HeaderWarning 指定 WarningHTTP 标头的索引号。int 9 HeaderWwwAuthenticate 指定 WWW-AuthenticateHTTP 标头的索引号。int 29 ReasonCachePolicy 指定请求的原因。int 2 ReasonCacheSecurity 指定请求的原因。int 3 ReasonClientDisconnect 指定请求的原因。int 4 ReasonDefault 指定请求的原因。默认值为 ReasonResponseCacheMiss。int 0 ReasonFileHandleCacheMiss 指定请求的原因。int 1 ReasonResponseCacheMiss 指定请求的原因。int 0 RequestHeaderMaximum 指定 MaximumHTTP 请求标头的索引号。int 40 ResponseHeaderMaximum 指定 MaximumHTTP 响应标头的索引号。int 30
未完待续................
- 深入了解 System.Web.HttpWorkerRequest
- 深入了解Web中的URL编码
- 深入了解java web内幕读书笔记---深入了解web请求过程
- HttpWorkerRequest 类
- 带你深入了解Web站点数据库的分布存储
- 带你深入了解Web站点数据库的分布存储
- 带你深入了解Web站点数据库的分布存储
- 带你深入了解Web站点数据库的分布存储
- 深入了解Web站点数据库的分布存储
- 带你深入了解Web站点数据库的分布存储
- web.xml深入了解——各种标签
- System V 了解
- System.Web
- 深入了解计算机端口
- 深入了解C语言
- 深入了解C语言
- 深入了解计算机端口
- 深入了解INF文件
- Asp.net防止论坛用户重复登录的方法
- Asp.net解决无效的 CurrentPageIndex 值.它必须大于等于 0 且小于 PageCount!的问题方法
- asp.net中执行存储数据操作时数据被自动截取的一种情况
- vc odbc 连接后,执行sql查询语句,怎么输出查询的结果
- Asp.net实现文件上传
- 深入了解 System.Web.HttpWorkerRequest
- 系统安全
- 硕士生下跪求职,能全怪他们吗?
- 一些琐碎的东西
- 经过2006,回顾2006
- 初装suse
- jscript ado && adox 应用的几个技巧 by shawl.qiu
- 著名香港配角!!
- 搜索引擎免费登录提交地址汇总