действительно ли ссылка / href только с параметрами (начиная с вопросительного знака)? - PullRequest
46 голосов
/ 24 октября 2011

Действительна ли эта ссылка?

<a href="?lang=en">eng</a>

Я знаю, что браузеры воспринимают это так, как ожидалось, и я знаю, что пустая ссылка тоже будет в порядке - но можно ли указывать только параметры?

Мне любопытно, потому что вопросительный знак ("?") Является условным обозначением большинства HTTP-серверов (AFAIK), хотя я признаю, что он является преобладающим.

Итак, резюмируем:

  1. будут ли все браузеры интерпретировать это правильно?

  2. это в RFC?

  3. Могу ли я ожидать каких-либо проблем при использовании этого?

ОБНОВЛЕНИЕ: предполагаемое действие при нажатии - перенаправить на ту же страницу, но с другими параметрами GET (в приведенном выше примере «lang = en»).

Ответы [ 2 ]

39 голосов
/ 24 октября 2011

Да, это так.
Вы можете найти его в RFC 1808 - Относительные унифицированные указатели ресурсов :

Внутри объекта с четко определенным базовым URL-адресом:
База: <URL:http://a/b/c/d;p?q#f>
относительные URL будут разрешены следующим образом:

5.1.Обычные примеры

?y = <URL:http://a/b/c/d;p?y>

RFC 3986 - универсальный идентификатор ресурса (URI): общий синтаксис повторяет то же самое и добавляет дополнительные сведениявключая грамматику:

relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

relative-part = "//" authority path-abempty
             / path-absolute
             / path-noscheme
             / path-empty     #; zero characters

Это не означает, что все браузеры реализуют его в соответствии со стандартом, но, похоже, это должно быть безопасно.

0 голосов
/ 20 июля 2016

Да - и он попадет в текущий URL с параметрами, которые вы передаете.

Это очень удобно использовать в ситуациях, когда вы хотите убедиться, что вы не пересекаете границу текущей страницы / формы и сохраняетепри нажатии того же ActionMethod или чего-либо другого, слушающего с другими параметрами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...