URL中的分号

时间:2017-08-15 14:14:45

标签: http url

我有这样的网址: localhost:8080 / demo /

当我致电localhost:8080/demo/'''''''''它工作正常。

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

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

任何人都能为我解释一下吗? 非常感谢你!

1 个答案:

答案 0 :(得分:0)

这些特殊字符不能直接在网址中使用, 因为他们有特殊的意义。 例如: /是路径中的分隔符, ?标记了网址的查询部分, #标记了页面内部链接, 等

引自Wikipedia: Percent-encoding reserved characters

  

当保留集中的字符(“保留字符”)时   在某种情况下具有特殊含义(“保留目的”),   和一个URI方案说,有必要使用该字符   对于某些其他目的,该字符必须是百分比编码。   编码保留字符的百分比涉及转换   字符到ASCII中的相应字节值然后   将该值表示为一对十六进制数字。数字,   以百分号(%)开头,用作转义字符,   然后在URI中使用它来代替保留字符。

例如:;是保留字符。因此,;何时发生 在一个URL但没有其特殊含义,那么它需要 已定义here

替换为%3B