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


52

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

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

или же

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

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


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

Ответы:


63

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

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

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

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

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


Ура @iivel! Раздел 3 был более полезным для меня (раздел 4.1 кажется специфичным для относительных URI), когда я обсуждал это с кем-то.
eebbesen

А как насчет веб-сервера, нужно ли обрабатывать его во время показа страницы?
Behrouz.M

1
@raypixar URL-фрагменты не отправляются на сервер
Хуан Мендес
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.