为什么我们使用 UrlEncode
Why we use UrlEncode
我通常在任何带有参数值的页面重定向之前使用代码 _uri = Server.UrlEncode(_uri);
,但我不知道使用 UrlEncode 的意义 this.I 想知道使用 UrlEncode 的好处。
URLEncode returns a string in which all non-alphanumeric characters other than – (hyphen) _ (underscore), and . (period) have been replaced with a percent (%) sign followed by two hex digits that correspond to the charactor code and spaces encoded as plus (+) signs. Spaces can alternatively be encoded as %20. 20 is (16*2)+(1*0)=32 in decimal, which is the ASCII code for space.
例子
如果你写
Response.Write(Server.URLEncode("http://www.technologycrowds.com"));
那么结果就是这样
http%3A%2F%2Fwww%2Etechnologycrowdst%2Ecom
URL 编码确保所有浏览器都能正确传输 URL strings.Characters 中的文本,例如问号 (?)、与号 (&)、斜杠 (/)、和空格可能会被某些浏览器截断或损坏。
参见 Microsoft 文档:https://msdn.microsoft.com/en-us/library/zttxte6w(v=vs.110).aspx
考虑这样的 URL:
http://example.com/index.aspx?redirectUrl=http://example.com/index.aspx?someValue=123
你会如何解析 URL?哪个 ://
将协议与地址分开?哪个 ?
将地址与值分开?它会很快变得混乱,因为查询字符串值中使用的字符在 URLs.
中具有重要意义
相反,考虑这个版本:
http://example.com/index.aspx?redirectUrl=http%3A%2F%2Fexample.com%2Findex.aspx%3FsomeValue%3D123
现在,查询字符串值中使用的 none 个字符具有其他重要的 URL 含义。它只是一个字符串,因此可以轻松解析整个 URL。
URL-编码值允许我们将这些值视为值,而不是URL本身的一部分。
我通常在任何带有参数值的页面重定向之前使用代码 _uri = Server.UrlEncode(_uri);
,但我不知道使用 UrlEncode 的意义 this.I 想知道使用 UrlEncode 的好处。
URLEncode returns a string in which all non-alphanumeric characters other than – (hyphen) _ (underscore), and . (period) have been replaced with a percent (%) sign followed by two hex digits that correspond to the charactor code and spaces encoded as plus (+) signs. Spaces can alternatively be encoded as %20. 20 is (16*2)+(1*0)=32 in decimal, which is the ASCII code for space.
例子
如果你写
Response.Write(Server.URLEncode("http://www.technologycrowds.com"));
那么结果就是这样
http%3A%2F%2Fwww%2Etechnologycrowdst%2Ecom
URL 编码确保所有浏览器都能正确传输 URL strings.Characters 中的文本,例如问号 (?)、与号 (&)、斜杠 (/)、和空格可能会被某些浏览器截断或损坏。
参见 Microsoft 文档:https://msdn.microsoft.com/en-us/library/zttxte6w(v=vs.110).aspx
考虑这样的 URL:
http://example.com/index.aspx?redirectUrl=http://example.com/index.aspx?someValue=123
你会如何解析 URL?哪个 ://
将协议与地址分开?哪个 ?
将地址与值分开?它会很快变得混乱,因为查询字符串值中使用的字符在 URLs.
相反,考虑这个版本:
http://example.com/index.aspx?redirectUrl=http%3A%2F%2Fexample.com%2Findex.aspx%3FsomeValue%3D123
现在,查询字符串值中使用的 none 个字符具有其他重要的 URL 含义。它只是一个字符串,因此可以轻松解析整个 URL。
URL-编码值允许我们将这些值视为值,而不是URL本身的一部分。