Как работает URL с несколькими вопросительными знаками? - PullRequest
0 голосов
/ 07 мая 2019
https://www.airbnb.com/help?audience=host?audience=guest?audience=host?audience=host?audience=host

URL, указанный выше, иногда создавался мной.

Обычный URL для меня имеет один знак вопроса, в то время как все параметры различны.Поэтому, на мой взгляд, этот URL ненормальный.

Мне кажется странным, что он все еще работает, и у моего браузера нет на это претензий.

Кто-нибудь объяснит мне это?

1 Ответ

2 голосов
/ 10 мая 2019

Первый ? обозначает компонент запроса .Компонент запроса завершается первым следующим # или концом URL.

Итак, это компонент запроса вашего URL:

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

Внутри компонента запроса, вполне нормально использовать ? символов, они не имеют никакого особого значения ( список всех разрешенных символов в запросе ).

Хотя параметры в запросе обычнов формате name=value, разделенном &, это просто соглашение (это то, что производит тип кодирования application/x-www-form-urlencoded в формах HTML).Авторы сайта могут использовать любой формат, какой пожелают.

...