Request.Query["xxx"] 与Request.Url.OriginalString
Request.Query["xxx"] 与Request.Url.OriginalString这两数据不同:后者是最原始的URL,前者是处理过的URL
处理过程:
-
将 URI 方案转换为小写。
-
将主机名转换为小写。
-
如果主机名为 IPv6 地址,则使用规范化 IPv6 地址。 ScopeId 和其他可选的 IPv6 数据将被移除。
-
移除默认端口号和空端口号。
-
通过压缩 /./、/../、// 等序列(包括转义表示形式),规范化分层 URI 的路径。 请注意,在某些方案中,不压缩转义表示形式。
-
对于分层 URI,如果主机未以正斜杠 (/) 结尾,则添加一个正斜杠。
-
默认情况下,URI 中的任何保留字符都要根据 RFC 2396 进行转义。 如果启用了国际资源标识符或国际域名分析,则会按照 RFC 3986 和 RFC 3987 对 URI 中的保留字符进行转义,因此该行为会发生变化。
参考内容:http://msdn.microsoft.com/zh-cn/library/system.uri.aspx Uri类的remark
d.sky