Rest 为什么有些URL有像%20这样有趣的字符?
我遇到了一个有趣的URL,看起来像这样Rest 为什么有些URL有像%20这样有趣的字符?,rest,url,Rest,Url,我遇到了一个有趣的URL,看起来像这样 http://127.0.0.1:8888//echo/this%20is%20just%20a%20test 这使得restapi看起来很奇怪。有什么正当的理由吗?或者这只是一个程序员的古怪习惯?REST API避免在URL中使用有趣的字符是一种好的做法吗?这是URL中不允许的字符的URL编码%20是一个空格。%20表示一个空格字符,它只是,也称为 URL中不允许使用某些字符,例如空格字符。 如果URL包含此类字符,则需要对其进行正确编码 引用关于统一
http://127.0.0.1:8888//echo/this%20is%20just%20a%20test
这使得restapi看起来很奇怪。有什么正当的理由吗?或者这只是一个程序员的古怪习惯?REST API避免在URL中使用有趣的字符是一种好的做法吗?这是URL中不允许的字符的URL编码<代码>%20是一个空格。
%20
表示一个空格
字符,它只是,也称为
URL中不允许使用某些字符,例如空格
字符。如果URL包含此类字符,则需要对其进行正确编码 引用关于统一资源标识符(URI)的信息: 百分比编码机制用于表示数据中的八位字节 当八位字节的对应字符位于 允许的集合或正在用作 组成部分。百分比编码的八位字节编码为字符 三元组,由百分比字符“%”后跟两个 表示该八位字节数值的十六进制数字。对于 例如,“%20”是二进制八位字节的编码百分比 “00100000”(ABNF:%x20),在US-ASCII中对应于空格 字符(SP)
可能重复,所以,没有REST API会使用像%20这样的字符?我想使用它们并不违法,但是,由于这会降低可读性,可能最好避免使用。您必须记住%20不是字符,而是url中的编码。