URL 中的分号

1 url http

我有一个这样的 URL:localhost:8080/demo/

当我打电话时localhost:8080/demo/'''''''''它工作正常。

但是当我尝试使用它时localhost:8080/demo/;;;,它不起作用并返回 HTTP 代码 404 Not Found。

我尝试了一些特殊字符 # % \ ? /,它也返回了 400。

任何人都可以为我解释一下吗?太感谢了!

Tho*_*sch 7

URL 中不允许直接使用这些特殊字符,因为它们在那里具有特殊含义。例如: /是路径中的分隔符、 ?标记 URL 的查询部分、 #标记页面内部链接等。

引用自维基百科:百分比编码保留字符

当保留集中的字符(“保留字符”)在特定上下文中具有特殊含义(“保留目的”),并且 URI 方案表示有必要将该字符用于其他目的时则该字符必须是百分比编码的。对保留字符进行百分比编码涉及将字符转换为其对应的 ASCII 字节值,然后将该值表示为一对十六进制数字。然后,在 URI 中使用前面带有用作转义字符的百分号 (%) 的数字来代替保留字符。

例如:;是保留字符。因此,当;URL中出现when但没有其特殊含义时,则需要将其替换为此处%3B定义的