为什么有些网址有像%20这样有趣的字符?

时间:2015-11-04 09:49:59

标签: rest url

我遇到了一个有趣的网址,看起来像这样;

http://127.0.0.1:8888//echo/this%20is%20just%20a%20test

这使得REST API看起来很奇怪。有一些正当的理由还是只是程序员的古怪习惯? REST API避免使用URL中的有趣字符是一种很好的做法吗?

2 个答案:

答案 0 :(得分:1)

这是URL中不允许的字符的URL编码。 %20是一个空白区域。

答案 1 :(得分:1)

%20表示space个字符,它只是Percent-Encoding,也称为URL Encoding

网址中不允许使用某些字符,例如space字符 如果URL包含此类字符,则需要对其进行正确编码。

引用关于统一资源标识符(URI)的RFC 3986

  

百分比编码机制用于表示a中的数据八位字节   当八位位组的相应字符在...之外时的组件   允许设置或被用作的分隔符或内部分隔符   零件。百分比编码的八位字节被编码为字符   三元组,由百分号“%”后跟两个字符组成   表示该八位字节数值的十六进制数字。对于   例如,“%20”是二进制八位字节的百分比编码   “00100000”(ABNF:%x20),在US-ASCII中对应于空格   字符(SP)。