代码是:
- 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 部分。