Тэг привязки стоит перед строкой запроса или после?

52

Мне неясно, должен ли тег привязки идти перед строкой запроса или после.

http://www.domain.com/search?query=hello#name

или же

http://www.domain.com/search#name?query=hello

Или это имеет значение?

whoacowboy
источник
1
Попробуй это. Только один из них работает, так что это имеет значение. Когда я сначала попробовал якорь, тогда он думал? является частью фрагмента "#" и, таким образом, не переходит на правильный якорь (так как его нет в имени?) и, вероятно, не будет включать какую-либо информацию, если я проверил строку запроса в PHP. Последний, который я не проверял.
Julix

Ответы:

63

Лучшая практика заключается в добавлении именованного якоря в конце. Техническое имя является идентификатором фрагмента, а синтаксис приведен в RFC 3986.

Раздел RFC находится здесь: http://tools.ietf.org/html/rfc3986#section-4.1

относительная ссылка = относительная часть ["?" запрос] ["#" фрагмент]

Википедия действительно хорошо это освещает:

Идентификатор фрагмента, представленный хэш-знаком #, является необязательной последней частью URL-адреса для документа.

iivel
источник
Ура @iivel! Раздел 3 был более полезным для меня (раздел 4.1 кажется специфичным для относительных URI), когда я обсуждал это с кем-то.
eebbesen
А как насчет веб-сервера, нужно ли обрабатывать его во время показа страницы?
Behrouz.M
1
@raypixar URL-фрагменты не отправляются на сервер
Хуан Мендес