ServerVariables["URL"]、Url、RawUrl、Path 区别

作者:vkvi 来源:ITPOW(原创) 日期:2012-1-17

代码是:

  • Response.Write(Request.ServerVariables["URL"] + "<br>");
  • Response.Write(Request.Url + "<br>");
  • Response.Write(Request.RawUrl + "<br>");
  • Response.Write(Request.Path + "<br>");

测试 URL:

http://localhost:1234/Default.aspx?action=delete

结果:

  • /Default.aspx
  • http://localhost:1234/Default.aspx?action=delete
  • /Default.aspx?action=delete
  • /Default.aspx

测试 URL:

http://localhost:1234/?cacheaction=delete

结果:

  • /default.aspx
  • http://localhost:1234/default.aspx?cacheaction=delete
  • /default.aspx?cacheaction=delete
  • /default.aspx

测试 URL:

http://localhost:1234/Default.aspx

结果:

  • /Default.aspx
  • http://localhost:1234/Default.aspx
  • /Default.aspx
  • /Default.aspx

测试 URL:

http://localhost:1234

结果:

  • /default.aspx
  • http://localhost:1234/default.aspx
  • /default.aspx?
  • /default.aspx

可以看出:

  • 默认首页被省略时,几个都自动补上;
  • 可以看出 Request.Url 是实际访问的 URL,Requst.Url 含 HOST 和 QueryString 部分;
  • Request.ServerVariables["URL"] 和 Request.Path 都不含 HOST 和 QueryString 部分;
  • Request.RawUrl 不含 HOST 部分,但含 QueryString 部分。
相关文章