asp.net并没有内置对象这一说,jsp里确实把request、response这些当作jsp的内置对象,这里只不过是借用了一下jsp的说法而已。上面提到的很多都是在做asp.net开发时无需new就能使用的对象(类似的还有很多,在asp.net中所有的网页都是继承自System.Web.UI.Page这个类,上面的提到多是Page类的属性)。
在Web中处于中心的是Web服务器,用来处理客户端的HTTP请求。由于HTTP是一种无状态的协议,也就是它并不记得上一次谁请求过它,不会主动去询问客户端,只有当客户端主动请求之后,服务器才会响应。
Request
Request封装了客户端请求信息。Request的常见属性如下:
属性名
值类型
说明
ApplicationPath
String
获取请求的资源在网站上的根路径
ContentEncoding
Encoding
设置请求对象的编码
Cookies
HttpCookieCollection
客户端发送到服务器的Cookie集合
QueryString
NameValueCollection
当前请求的查询字符串集合
UrlReferrer
Uri
获取用户由哪个url跳转到当前页面
Response
Response代表了服务器响应对象。每次客户端发出一个请求的时候,服务器就会用一个响应对象来处理这个请求,处理完这个请求之后,服务器就会销毁这个相应对象,以便继续接受其它客服端请求。
Response常用属性如下:
属性名
值类型
说明
Charset
string
表示输出流的所使用的字符集
ContentEncoding
Encoding
设置输出流的编码
ContentLength
Int
输出流的字节大小
ContentType
string
输出流的HTTP MIME类型
Cookies
HttpCookieCollection
服务器发送到客户端的Cookie集合
Output
TextWriter
服务器响应对象的字符输出流
RedirectLocation
string
将当前请求重定向
Response常用方法
属性名
返回值类型
说明
AppendCookie
void
向响应对象的Cookie集合中增加一个Cookie
Clear
void
清空缓冲区中的所有内容输出
Close
void
关闭当前服务器到客户端的连接
End
void
终止响应,并且将缓冲区中的输出发送到客户端
Redirect
void
重定向当前请求