【问题标题】:Url encoding for non-ASCII characters非 ASCII 字符的 URL 编码
【发布时间】:2021-04-26 23:29:03
【问题描述】:

我理解为什么在某些情况下我们应该对保留字符进行 url-encode。 例如,如果我们这样写:http://example.com/somepage?searchText=abc&maxResults=10

上面的 URL 向服务器传输两条信息:

searchText=abc

maxResults=10

这是因为我们在url中保留了字符:

但是如果我们要传达searchText的内容,其值为:

searchText=abc&maxResults=10

我们需要使用url-encoding

http://example.com/somepage?searchText=abc%26maxResults%3D10

但我不明白为什么 ASCII 字符集之外的任何字符都应该进行 url 编码? (例如 - 西里尔符号,如“у П х з”或中文等)

【问题讨论】:

    标签: url urlencode


    【解决方案1】:

    看来我找到了答案: https://www.rfc-editor.org/rfc/rfc2396#section-2.1

    对于包含非 ASCII 字符的原始字符序列, 然而,情况更加困难。互联网协议 传输用于表示字符序列的八位字节序列 预计将提供某种方式来识别所使用的字符集,如果 可能有不止一个 [RFC2277]。不过,目前有 通用 URI 语法中没有规定来实现这一点 鉴别。一个单独的 URI 方案可能需要一个 字符集,定义默认字符集,或提供一种方法来指示 使用的字符集。

    【讨论】:

      猜你喜欢
      • 2021-07-28
      • 2014-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      • 2012-08-29
      • 1970-01-01
      相关资源
      最近更新 更多