RFC 1738指定了 URL 的语法,并提到
URL 仅使用
US-ASCII 编码字符集的图形可打印字符编写。US-ASCII中不
使用八位字节 80-FF 十六进制,八位字节 00-1F 和 7F 十六进制表示
控制字符;这些必须被编码。
但是,它没有说明这些八位位组随后代表什么代码集。
RFC 2396似乎试图改善这种情况,但是:
然而,对于包含非 ASCII 字符的原始字符序列,情况就更加困难了。如果可能有多个 [RFC2277],传输旨在表示字符序列的八位字节序列的 Internet 协议有望提供某种方式来识别所使用的字符集。但是,目前在通用 URI 语法中没有提供完成此标识的规定。单个 URI 方案可能需要单个字符集、定义默认字符集或提供一种方法来指示所使用的字符集。
预计 URI 中字符编码的系统处理将作为本规范的未来修改而开发。
是否有任何明确的方式可以让客户端确定使用哪个字符集来解释编码的八位位组,或者服务器可以确定客户端用来编码的内容?
在我看来,大多数服务器都默认使用 UTF-8,但这似乎是一种事实上的选择,而不是指定的选择。