Kommt ein Ankertag vor oder nach der Abfragezeichenfolge?

52

Ich bin unklar, ob ein Ankertag vor oder nach einer Abfragezeichenfolge stehen soll.

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

oder

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

Oder spielt es eine Rolle?

whoacowboy
quelle
1
Probier es aus. Nur einer von ihnen funktioniert, also spielt es eine Rolle. Als ich zuerst versucht habe, zu verankern, denkt es das? ist Teil des Fragments "#" und springt daher nicht zum richtigen Anker (da es keinen gibt, der? im Namen hat ...) und würde wahrscheinlich keine Informationen enthalten, wenn ich nach der Abfragezeichenfolge Ausschau halten würde in PHP. Den letzten habe ich nicht getestet.
Julix

Antworten:

62

Am besten fügen Sie den benannten Anker am Ende an. Der technische Name ist eine Fragmentkennung und die Syntax ist in RFC 3986.

Der RFC-Abschnitt befindet sich hier: http://tools.ietf.org/html/rfc3986#section-4.1

relative-ref = relative-part ["?" Abfrage] ["#" Fragment]

Wikipedia deckt das eigentlich gut ab:

Die Fragmentkennung, die durch ein Rautezeichen # eingefügt wird, ist der optionale letzte Teil einer URL für ein Dokument

Iivel
quelle
Prost @iivel! Abschnitt 3 war für mich hilfreicher (Abschnitt 4.1 scheint für relative URIs spezifisch zu sein), als ich dies mit jemandem diskutierte.
eebbesen
Was ist mit dem Webserver? Muss er ihn während des Servings der Seite handhaben?
Behrouz.M
1
@raypixar URL-Fragmente werden nicht an den Server gesendet
Juan Mendes