asp.net 内置对象Request和Response

本文深入解析ASP.NET中的Request和Response对象,包括获取当前执行请求的虚拟和物理路径、网页来源、原始请求URL、Cookie操作、缓冲输出、重定向、文件输出等功能及其应用场景。

Request

1.Request.AppRelativeCurrentExecutionFilePath,获取当前执行请求相对于应用根目录的虚拟路径,以~开头,比如“~Handler.ashx”.

2.Request.PhysicalApplicationPath,获取当前应用的物理路径,比如D:\我的文档\VisualStudio 2012\WebSites\WebSite\

3.Request.PhysicalPath,获取当前请求的物理路径。比如D:\我的文档\VisualStudio 2012\WebSites\WebSite\Handler.ashx

4.Request.UrlReferrer 网页的来源,可以据此判断搜索关键词,防下载盗链,防图片盗链

,可以伪造(迅雷)。

5.Request.RawUrl,获得原始请求URL

6.Request.Cookies(一般只是读取) 获取浏览器发过来的浏览器Cookie,从它里面读取Cookies 值,将Cookie写回浏览器要用Response.Cookies

9.Request.MapPath(virtualPath)将虚拟路径转换为磁盘上的物理路径。

Response

1.Response对象是httpResponse类的一个实例,httpResponse类用户封装页面操作的HTTP相应信息

2.常用属性和方法

    BufferOutput 获取或设置一个值,该值指示是否缓冲区输出,并在完成处理整个页面之后将其发送。BufferOutput属性默认为true.当页面被加载,要输出到客户端的数据都暂时存到服务器的缓冲区内并等待页面所有事件程序,以及所有的页面对象全部被浏览器解释完毕后,才将所有在缓冲区中的数据发送到客户端浏览器。

    Response.Cookies返回给浏览器的Cookie的集合,可以通过它设置Cookie

    Response.OutputStream输出流,在输出图片,excel文件等非文本内容的时候要使用它

    Response.End()  终止响应,将之前缓冲区中的数据发给浏览器,End()之后的代码不会被继续执行,在终止一些非法请求的时候,比如盗链等可以用End()立即终止请求。

    Response.Redirect(url) Redirect是向浏览器发回302重定向。

    Response.WriteFile(filename)向浏览器输出文件

    Response.SetCookie(HttpCookie cookie) 向输出流中更新写到浏览器中的Cookie,如果Cookie存在就更新不存在就增加,是对Response.Cookes的简化调用。

3.响应的缓冲输出:为了提高服务器的性能,asp.net向浏览器Write的时候默认并不会每Write一次都会立即输出到浏览器,而是会缓存数据,到合适的时机或者响应结束才会将缓冲区的数据一起发送到浏览器。

转载于:https://www.cnblogs.com/fanshaomin/p/3709894.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值