Request 和 Response分别对应Http响应模式中的请求和响应。
在ASP.NET它们是两个对象。利用它们可以读取Http请求信息以及如何响应用户当前请求。
在Web后台 我们可以使用Request 来读取Http请求报文中信息以及表单信息。(非表单数据的读取
只能交给视图状态去管理。)
Request 和HttpRequest数据类型,它是HttpContext的一个对象 有很多的方法和属性。
ASP.NET的编写的网站仍然是遵循传统的网站模式,每一个页面代码的后台页面
也都是继承自IhttpHandler也可以看出来。
此接口中的第一个参数 HttpContext对象中就封装了用户请求过来的
信息以及Http请求报文的对象Request 和 响应用户请求信息的Response对象以及服务器的各种服务
应用的对象Server。
Request对象有很多属性,下面列举几项:
1.Request.AppRelativeCurrentExecutionFilePath:获取当前执行请求相对于应用目录的虚拟路径
是"~"开头,比如"~/handler.ashx"
2.Request.PhysicalApplicationPath,获取当前相对于应用目录的物理路径:比如:D:\我的文档\
WebSite1\
3.Request.PhysicalPath 获取当前请求在服务器上的物理路径D:\我的文档\
WebSite1\UserLogin.aspx
4.Request.RawUrl 获取原始请求的URL ,Request.URi 获取请求的URL。这会涉及到URL
重写的问题。
5.Request.UrlReferrer 网页的来源,可以根据这个来判断从百度搜的哪个关键字词,防盗链瞎子啊
,防图片盗链,但是不是绝对安全(可以伪造。比如:迅雷)
6.Request.UserHostAdress 获取当前请求的IP地址。
7.Request.UserLanguage 获取当前请求的浏览器支持的语言。
8.Request.Cookie 获取当前浏览器发送过来的cookie
9.Request.MapPath("VirtualPath") 将磁盘上的虚拟路径转化为绝对路径。推荐使用ServerMapPath.
下面来使用Request的第五个属性UrlReferrer来做一个防盗链的例子:
一般处理文件,用于向用户请求输出图片:
如果是直接访问该文件:
如果不是本域名的网页访问该图片:
如果是本域名通过网页访问:
详细请查看: http://net.itheima.com/