¿Una etiqueta de anclaje viene antes de la cadena de consulta o después?

52

No estoy claro si una etiqueta de anclaje debe aparecer antes de una cadena de consulta o después.

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

o

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

O importa?

whoacowboy
fuente
1
Pruébalo. Solo uno de ellos funciona, por lo que importa. Cuando traté de anclar primero, ¿entonces piensa? es parte del fragmento "#" y, por lo tanto, no salta al anclaje correcto (ya que no hay uno que tenga? en su nombre ...) y probablemente no incluiría ninguna información si verifico la cadena de consulta en PHP El último que no he probado.
Julix

Respuestas:

62

La mejor práctica es agregar el ancla con nombre al final. El nombre técnico es un identificador de fragmento y la sintaxis está en RFC 3986.

La sección RFC está aquí: http://tools.ietf.org/html/rfc3986#section-4.1

relativo-ref = relativo-parte ["?" consulta] [fragmento "#"]

Wikipedia en realidad lo cubre bien:

El identificador de fragmento introducido por una marca hash # es la última parte opcional de una URL para un documento

iivel
fuente
Saludos @iivel! La Sección 3 fue más útil para mí (la sección 4.1 parece específica para los URI relativos) ya que debatí esto con alguien.
eebbesen
¿Qué pasa con el servidor web, necesita manejarlo durante la página de publicación?
Behrouz.M
1
@raypixar Los fragmentos de URL no se envían al servidor
Juan Mendes