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

How does a URL with multiple question marks work?

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

上面的URL是我偶尔创作的。

对我来说正常的URL有一个问号,而所有参数都是不同的。所以在我看来,这个URL是不正常的

我觉得奇怪的是它仍然有效,而且我的浏览器对此没有任何抱怨。

有人能给我解释一下吗?

第一个?表示第query component个。查询组件由第一个以下 # 或 URL.

结束

所以,这是您 URL:

的查询组件
audience=host?audience=guest?audience=host?audience=host?audience=host

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

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