Un tag anchor viene prima della stringa di query o dopo?


52

Non sono chiaro se un tag di ancoraggio dovrebbe precedere una stringa di query o dopo.

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

o

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

O importa?


1
Provalo. Solo uno di loro funziona, quindi è importante. Quando ho provato l'ancora prima, poi pensa che? fa parte del frammento "#" e quindi non salta all'ancoraggio destro (poiché non ce n'è uno che ha? nel suo nome ...) e probabilmente non includerebbe alcuna informazione se ho controllato la stringa di query in PHP. L'ultimo che non ho testato.
— Julix,

Risposte:


62

La migliore pratica è di aggiungere l'ancora denominata alla fine. Il nome tecnico è un identificatore di frammento e la sintassi è in RFC 3986.

La sezione RFC è qui: http://tools.ietf.org/html/rfc3986#section-4.1

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

Wikipedia in realtà lo copre bene:

L'identificatore di frammento introdotto da un segno di hash # è l'ultima parte facoltativa di un URL per un documento


Saluti @iivel! La sezione 3 è stata più utile per me (la sezione 4.1 sembra specifica per gli URI relativi) mentre ne discutevo con qualcuno.
— eebbesen,

Che dire di webserver, deve gestirlo durante la pubblicazione della pagina?
— Behrouz.M,

1
I frammenti di URL @raypixar non vengono inviati al server
— Juan Mendes,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.