Asp.net中Request.Url的各个属性对应的意义介绍

本文转载自 http://www.jb51.net/article/30254.htm

网络上关于Request.Url的说明已经很多也很丰富了,但是自己还是实践了一下,看看最终的结果与网络上的是否一致
 
1.简单的环境搭建 
  在本地IIS上配置了一个网站:主机名为wjnhome.com,端口88,然后建了一个虚拟目录指向同一站点,虚拟目录名称为virtual,配置host为127.0.0.1  wjnhome.com 
  所以地址就为:http://jb51.net:88/virtual/urldemo.aspx?id=2#top 
2.编写简单的代码


//虚拟目录的路径 
Response.Write("<strong>Request.ApplicationPath:</strong>" + Request.ApplicationPath + "</br>"); 
//站点的物理路径(完整路径) 
Response.Write("<strong>Request.PhysicalPath:</strong>" + Request.PhysicalPath + "</br>"); 
//站点物理路径的目录 
Response.Write("<strong>DirectoryName:</strong>" + System.IO.Path.GetDirectoryName(Request.PhysicalPath) + "</br>"); 
//站点物理路径的目录 
Response.Write("<strong>Request.PhysicalApplicationPath:</strong>" + Request.PhysicalApplicationPath + "</br>"); 
//当前页面的文件名 
Response.Write("<strong>FileName:</strong>" + System.IO.Path.GetFileName(Request.PhysicalPath) + "</br>"); 
//当前页面的虚拟路径 
Response.Write("<strong>Request.CurrentExecutionFilePath:</strong>" + Request.CurrentExecutionFilePath + "</br>"); 
//当前页面的虚拟路径 
Response.Write("<strong>Request.FilePath:</strong>" + Request.FilePath + "</br>"); 
Response.Write("<strong>Request.Path:</strong>" + Request.Path + "</br>"); 
//原始URL 
Response.Write("<strong>Request.RawUrl:</strong>" + Request.RawUrl + "</br>"); 
//绝对路径(不包括参数什么的) 
Response.Write("<strong>Request.Url.AbsolutePath:</strong>" + Request.Url.AbsolutePath + "</br>"); 
//绝对URL 
Response.Write("<strong>Request.Url.AbsoluteUri:</strong>" + Request.Url.AbsoluteUri + "</br>"); 
//URL协议方案 
Response.Write("<strong>Request.Url.Scheme:</strong>" + Request.Url.Scheme + "</br>"); 
//URL的主机名 
Response.Write("<strong>Request.Url.Host:</strong>" + Request.Url.Host + "</br>"); 
//URL端口号 
Response.Write("<strong>Request.Url.Port:</strong>" + Request.Url.Port + "</br>"); 
//主机名+端口号 
Response.Write("<strong>Request.Url.Authority:</strong>" + Request.Url.Authority + "</br>"); 
//获取文件名的本地操作系统表现形式 
Response.Write("<strong>Request.Url.LocalPath:</strong>" + Request.Url.LocalPath + "</br>"); 
//附加路径信息,例如http://jb51.net:88/UrlDemo.aspx/Hello?id=22#top 那么这里就是Hello 
Response.Write("<strong>Request.PathInfo:</strong>" + Request.PathInfo + "</br>"); 
//URL的路径和GET参数 
Response.Write("<strong>Request.Url.PathAndQuery:</strong>" + Request.Url.PathAndQuery + "</br>"); 
//URL的GET参数 
Response.Write("<strong>Request.Url.Query:</strong>" + Request.Url.Query + "</br>"); 
//主要指的是http://jb51.net:88/UrlDemo.aspx/Hello?id=22#top中#后面的top。 
//但一般情况下无法获取值,因为浏览器不会把这个值发送到服务器端 
Response.Write("<strong>Request.Url.Fragment:</strong>" + Request.Url.Fragment + "</br>"); 
//主机名 
Response.Write("<strong>Request.Url.DnsSafeHost:</strong>" + Request.Url.DnsSafeHost + "</br>"); 
//URL的全部 
Response.Write("<strong>Request.Url.OriginalString:</strong>" + Request.Url.OriginalString + "</br>"); 
//这种情况 Uri uriAddress = new Uri ("http://user:password@www.contoso.com/index.htm ") Console.WriteLine(uriAddress.UserInfo); 
Response.Write("<strong>Request.Url.UserInfo:</strong>" + Request.Url.UserInfo + "</br>"); 
//从某个页面跳转过来的时候会显示源页面的值 
Response.Write("<strong>Request.UrlReferrer:</strong>" + Request.UrlReferrer + "</br>"); 
//URI的每一段 
for (var i = 0; i < Request.Url.Segments.Length;i++ ) 

Response.Write("<strong>Request.Url.Segment" + i + ":</strong>" + Request.Url.Segments[i] + "</br>"); 

3.输出结果 
  Request.ApplicationPath:/virtual 
  Request.PhysicalPath:E:\VsProject\201200420\UrlDemo\UrlDemo\urldemo.aspx 
  DirectoryName:E:\VsProject\201200420\UrlDemo\UrlDemo 
  Request.PhysicalApplicationPath:E:\VsProject\201200420\UrlDemo\UrlDemo\ 
  FileName:urldemo.aspx 
  Request.CurrentExecutionFilePath:/virtual/urldemo.aspx 
  Request.FilePath:/virtual/urldemo.aspx 
  Request.Path:/virtual/urldemo.aspx 
  Request.RawUrl:/virtual/urldemo.aspx?id=2 
  Request.Url.AbsolutePath:/virtual/urldemo.aspx 
  Request.Url.AbsoluteUri:http://jb51.net:88/virtual/urldemo.aspx?id=2 
  Request.Url.Scheme:http 
  Request.Url.Host:wjnhome.com 
  Request.Url.Port:88 
  Request.Url.Authority:wjnhome.com:88 
  Request.Url.LocalPath:/virtual/urldemo.aspx 
  Request.PathInfo: 
  Request.Url.PathAndQuery:/virtual/urldemo.aspx?id=2 
  Request.Url.Query:?id=2 
  Request.Url.Fragment: 
  Request.Url.DnsSafeHost:wjnhome.com 
  Request.Url.OriginalString:http://jb51.net:88/virtual/urldemo.aspx?id=2 
  Request.Url.UserInfo: 
  Request.UrlReferrer: 
  Request.Url.Segment0:/ 
  Request.Url.Segment1:virtual/ 
  Request.Url.Segment2:urldemo.aspx 

Asp.net中Request.Url的各个属性对应的意义介绍的更多相关文章

  1. 转载MSDN 在ASP.NET 中执行 URL 重写

    转载文章原网址 http://msdn.microsoft.com/zh-cn/library/ms972974.aspx 摘要:介绍如何使用 Microsoft ASP.NET 执行动态 URL 重 ...

  2. asp.net中Request.ServerVariables的用法

    在asp.net中可以通过HttpRequest.ServerVariables 属性来获取“ Web 服务器变量的集合” HttpRequest.ServerVariables 的用法: HttpR ...

  3. ASP.NET中Request.RawUrl、Request.Url的区别

    如果访问的地址是: http://hovertree.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu 那么 ...

  4. ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、Server.MapPath(转载)

    1.Request.ApplicationPath->当前应用的目录   Jsp中, ApplicationPath指的是当前的application(应用程序)的目录,ASP.NET中也是这个 ...

  5. ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、

    1.Request.ApplicationPath->当前应用的目录    Jsp中, ApplicationPath指的是当前的application(应用程序)的目录,ASP.NET中也是这 ...

  6. ASP.NET 中Request.QueryString 中的key

    在ASP.net中 的Key是可能为null的,例如在如下的Url中 http://localhost:14546/Home/Index?a 有一个key=null 其value是a,以前一直以为ke ...

  7. ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath

    1.Request.ApplicationPath->当前应用的目录 2.Request.FilePath->对应于iis的虚拟目录   如 URL http://mockte.com/1 ...

  8. 关于ASP.NET中Request.QueryString的乱码问题(转)

    转自 http://www.cnblogs.com/chinhr/archive/2008/09/23/1296582.html 今天在使用Request.QueryString的时候,发现所有接收到 ...

  9. asp.net中C#对象与方法 属性详解

    C#对象与方法 一.相关概念: 1.对象:现实世界中的实体 2. 类:具有相似属性和方法的对象的集合 3.面向对象程序设计的特点:封装  继承 多态 二.类的定义与语法 1.定义类: 修饰符 类名称 ...

随机推荐

  1. Struts2与Ajax数据交互

    写在前面: ajax请求在项目中常常使用,今天就平时掌握的总结一下,关于使用ajax请求到Struts2中的action时,前台页面与后台action之间的数据传递交互问题. 这里我主要记录下自己所掌 ...

  2. Angular CLI: 发布到 GitHub Pages

    发布 Angular 应用的简单方式是使用 GitHub Pages. 首先需要创建一个 GitHub 账号,随后,为您的项目创建一个仓库.记下 GitHub 中的用户名和项目名称. 例如,我的 Gi ...

  3. ios开发 第三天

    1.复合 对象可以引用其它对象,可以利用其它对象提供的特性. 通过包含作为实例变量的对象指针实现的. 2.OC是单一继承 3.继承-重构 4.类实例化对象时,self指向了对象的首地址. 类对象isa ...

  4. 利用vanitygen生成比特币个性地址的教程

      比特币怎么生成地址?大家都知道比特币地址都是以1开头的一串乱码,很多朋友会新建过一排地址然后在里面挑选,下面小编为大家分享下比特币生成个性地址方法. 其实就是使用vanitygen软件来生成个性化 ...

  5. 爬取知名社区技术文章_items_2

    item中定义获取的字段和原始数据进行处理并合法化数据 #!/usr/bin/python3 # -*- coding: utf-8 -*- import scrapy import hashlib ...

  6. Java中Unsafe类详解

    http://www.cnblogs.com/mickole/articles/3757278.html Java不能直接访问操作系统底层,而是通过本地方法来访问.Unsafe类提供了硬件级别的原子操 ...

  7. WebSphere--安全性

    WebSphere应用服务器具有很好的安全性支持.安全性简单地说就是确定谁可访问重要的系统资源,这些系统资源包括文件.目录.程序.连接和数据库.以独立模式运行WebSphere应用服务器比作为 Web ...

  8. python之作业--------购物车优化

    Read Me:继上次简单购物车的实现,有再一次的升级优化了下,现实现以下几个功能: 1.有客户操作和商家操作,实现,客户可以买东西,当金额不足提醒,最后按q退出,打印购物车列表 2.商家可以添加操作 ...

  9. spark头脑镜像

    思考是一件有意思的事情.遇到问题,思考出结论,那么脑子里面的过程是什么呢,或者脑子里面是什么呢.我一直认为,这团团的里面是一个模糊的n维空间.理解一个复杂的系统.公式.算法,都要在这个n维空间里具象化 ...

  10. C#基础(五)--枚举的含义及其应用

    本章讲解如下枚举的如下几个知识点:    1.什么是枚举?    2.枚举是值类型还是引用类型?    3.如何定义枚举?    4.枚举的好处?    5.枚举在实际系统开发过程中的用处?    一 ...