我试图在相关的RFC IETF RFC 3986中找到它,但无法理解。
HTTP的URI是否允许Unicode或任何类型的非ASCII?
请您引用支持您答案的部分和RFC。
注意:对于那些可能认为这与编程无关的人来说 - 确实如此。它与我正在构建的ISAPI过滤器有关。
附录
我已阅读RFC 3986的第2.5节。但我认为RFC 2616是当前的HTTP协议,早于3986,因此我认为它不能与3986兼容。此外,即使或何时HTTP RFC已更新,仍然存在合理化问题 - 换句话说, HTTP URI是否支持所有RFC3986条款,包括哪些适合包含非US-ASCII字符? < / p>
答案 0 :(得分:6)
答案 1 :(得分:4)
答案 2 :(得分:4)
不,他们是不被允许的。只需在RFC 3986中查看ABNF。
答案 3 :(得分:0)
曾经是DNS和URL / URI中不允许使用非英文字符。有一个hack允许他们在URI中使用%编码。然而,像俄罗斯和中国这样的许多国家开始使用非拉丁字符实施DNS。以下是对其中一个standards
的引用答案 4 :(得分:0)
RFC 3986正在被RFC 3987取代,后者完全支持Unicode,并提供与RFC 3986样式URI的映射规则。
答案 5 :(得分:-1)
许多浏览器都不支持带有Unicode字符的URI(我在我建立的网站上实现了这些 - blogvani.com),谷歌正式扫描并保持原样。我认为这不适用于顶级域名,但至少不适用于注册商而非直接域名。
对于顶级域名,如果您有以Unicode注册的域名(例如,人们可以在印地语中注册域名),它将被转换为ASCII中的相应代码(可能类似于jdhfks3243-32434.com)。 ..
看到这是如何路由并且意识到你实际上并没有进入unicode域,这很有趣,即使它看起来像那样。