asp.net中Request对象 技术浅析 (转)

Request对象
当客户端发出请求执行asp.net程序时,CLR会将客户端的请求信息包含在Request对象中。这些请求信息包括请求报头,客户端的基本信息(如浏览器类型,浏览器版本号,用户所用的语言以及编码方式等),请求方法(如post,get),参数名,参数值等。
Request对象的调用方法:Request.Collection["Variable"];
其中Collection包括四种集合:QueryString,Form,Cookies,ServerVariables。
1.QueryString集合收集的信息来源于请求url地址中"?"号后面的数据,这些数据称作url附加信息。例如,www.sina.com/show.asp?id=111
在此url中,QueryString收集到的信息是"show.asp?"后面的数据"id=111"。此时,取得参数"id"的参数值的语句为:Request.QueryString["id"];
QueryString主要用于收集http协议中get请求发送的数据,如果在一个请求事件中被请求的程序url地址出现了"?"号后的数据,则表示此次请求方式为get。get方法是http中的默认请求方法。

2.get方法是将传递的数据追加至url中。url地址长度是有限制的,因此使用get方法所能传递的数据也是有限的。一般地,get方法能够传递256字节的数据,在多数情况下,使用get方法传递的数据长度是远远不够的,这时便需要使用http的另外一种请求方式post,post方法可传递的数据的最大值为2MB。
post请求必须由form发出。而且,在使用post请求方法的时候,需要将"method"设置为"post"。asp.net使用Request.Form方法接收post方法传递的数据:Request.Form["Variable"];


3.ServerVariable
ServerVariable(环境变量)包含了客户机和服务器的系统信息。获得环境变量值的方法是:Request.ServerVariables["Variable"];
Variable参数            含义
HTTP_USER_AGENT          获得用户使用的浏览器类型和版本
REMOTE_ADDR              获取用户的IP地址
REQUEST_METHOD          获取请求的方法
LOCAL_ADDR                获取服务器的IP地址
SERVER_NAME              获取服务器的主机名
PATH_INFO                  获取当前执行程序的虚拟路径
PATH_TRANSLATED          获取当前执行程序的绝对路径
CONTENT_LENGTH          获取请求程序所发送内容的字符总数
CONTENT_TYPE              获取请求的信息类型
GATEWAY_INTERFACE        获取网关接口
QUERY_STRING              获取url的附加信息
SCRIPT_NAME                获取当前程序的文件名(包含虚拟路径)
SERVER_PORT                获取服务器接受请求的端口
SERVER_PROTOCOL          获取服务器遵从的协议以及版本号
HTTP_ACCEPT_LANGUAGE    获取用户所使用的语言

4.Request的Browser对象
Request.Browser.Browser//检测浏览器的类型
Request.Browser.Version//检测浏览器的版本
Request.Browser.ActiveXControls//检测浏览器是否支持ActiveX控件
Request.Browser.Cookies//检测浏览器是否支持Cookies
Request.Browser.VBScript//检测浏览器是否支持VBScript


5.其它Request属性和方法
FilePath          取得当前请求的文件路径
HttpMethod      取得当前请求的方法
Files            关乎文件的上传,后面会讲解
Params          获得QueryString+Form+ServerVariable+Cookies的集合
TotalBytes      请求内容的大小
Url              获得url信息
UserHostAddress 取得用户的IP地址
UserHostName    取得用户的主机名
UserLanguages    取得用户所用语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值