假设访问地址是:
http://localhost/cftea/Default.aspx?p1=?&p2=%3f
那么
Request.RawUrl = /cftea/Default.aspx?p1=?&p2=%3f
Request.Url = http://localhost/cftea/Default.aspx?p1=?&p2=?
我们可以看出
第一、Request.RawUrl 不包含主机名及前面的内容。
第二、Request.RawUrl 原始地体现地址栏的 QueryString,而 Request.Url 会进行 Server.URLDecode 解析。
另外
第三、大小写都是忠于浏览器中输入的,而不是实际存储的文件名大小写。
第四、就是如果出现映射,Request.RawUrl 是映射前的路径,比如输入 details.htm,实际访问的是 details.aspx,则 Request.RawUrl 是 details.htm,而 Request.Url 是映射后的,即 aspx 那个。
相关阅读