带有多个问号的URL如何工作?

时间:2019-05-07 15:42:06

标签: url url-parameters

https://www.airbnb.com/help?audience=host?audience=guest?audience=host?audience=host?audience=host

上面的网址是我偶尔创建的。

我的普通网址带有一个问号,而所有参数都是不同的。因此,我认为该网址是异常的。

对我来说似乎很奇怪的是,它仍然可以工作,并且我的浏览器对此没有任何抱怨。

有人会向我解释吗?

1 个答案:

答案 0 :(得分:2)

第一个?表示query component。查询组件由后面的第一个#或URL的结尾终止。

因此,这是您网址的查询组件:

audience=host?audience=guest?audience=host?audience=host?audience=host

在查询组件中,最好使用?个字符,那里没有任何特殊含义(list of all allowed characters in the query)。

虽然查询中的参数通常为name=value格式,以&分隔,但这是just a convention(这是HTML表单中的编码类型application/x-www-form-urlencoded产生的结果) 。网站作者可以使用他们想要的任何格式。