Uma tag de âncora vem antes ou depois da string de consulta?


52

Não estou claro se uma marca de âncora deve vir antes ou depois de uma string de consulta.

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

ou

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

Ou isso importa?


1
Teste-o. Apenas um deles funciona, então isso importa. Quando tentei ancorar primeiro, então ele pensa que? faz parte do fragmento "#" e, portanto, não pula para a âncora correta (já que não existe um que tenha? em seu nome ...) e provavelmente não incluiria nenhuma informação se eu tivesse verificado a sequência de consulta em PHP. O último que eu não testei.
Julix 21/09

Respostas:


62

A melhor prática é acrescentar a âncora nomeada no final. O nome técnico é um identificador de fragmento e a sintaxe está no RFC 3986.

A seção RFC está aqui: http://tools.ietf.org/html/rfc3986#section-4.1

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

Wikipedia realmente cobre bem:

O identificador de fragmento introduzido por uma marca de hash # é a última parte opcional de uma URL para um documento


Cheers @iivel! A seção 3 foi mais útil para mim (a seção 4.1 parece específica para os URIs relativos) enquanto eu debatia isso com alguém.
Eebbesen 19/05

E o servidor da web, ele precisa lidar com isso durante a exibição da página?
Behrouz.M

1
Os fragmentos de URL do @raypixar não são enviados para o servidor
Juan Mendes
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.