首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何形成URI以使用包含扩展字符主机名访问网络计算机

如何形成URI以使用包含扩展字符主机名访问网络计算机
EN

Stack Overflow用户
提问于 2015-03-28 08:50:37
回答 2查看 403关注 0票数 0

我在本地网络上有一些Windows7计算机,每台都有一个主机名。其中之一是运行一个Java 8应用程序,该应用程序必须通过HTTP访问另一台计算机,因此它需要形成一个包含服务器计算机主机名的URI。运行HTTP服务器的计算机的主机名包含日语字符,这在URI中是不允许的。

如何构造URI以访问本地网络上的服务器计算机?RFC4501,“域名系统统一资源标识符”,说要根据RFC3986,“统一资源标识符(URI):通用语法”进行编码,我推断这意味着UTF-8八位字节的百分比编码。但是RFC3490,“在应用程序中国际化域名(IDNA)",建议转换为Punycode。

那么到底是百分比编码还是Punycode呢?哪种编码允许Java应用程序成功查找并连接到本地网络中主机名中包含扩展字符的另一台Windows 7计算机?

EN

回答 2

Stack Overflow用户

发布于 2015-03-28 13:28:40

域名系统仅支持主机名中的ASCII码,因此包含国际字符的主机名必须在DNS中注册,并在URL中使用Internationalized Domain Name (IDN)格式进行编码,这种格式在编码非ASCII码字符时同时使用NameprepPunycode

另请看RFC 3987 Internationalized Resource Identifiers (IRIs),它允许对国际字符(主要)进行非编码,并定义了在IRI和URI之间进行转换的算法。

票数 1
EN

Stack Overflow用户

发布于 2015-03-29 00:29:29

正确的答案是“形成URI时使用Punycode对主机名进行编码”。这在W3C文章中进行了解释,并在RFC 3987的“国际化资源标识符(IRI)”中进行了指定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29312374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档