Richtige URL-Bildung mit Abfragezeichenfolge und Anker-Hashtag


113

Wenn sowohl eine Abfragezeichenfolge als auch ein Ankertag (Hash-Tag) in einer URL sichtbar sind, in welcher Reihenfolge werden sie angezeigt?

http://www.whatever.com?var=val#anchor

oder

http://www.whatever.com#anchor?var=val

Gibt es dazu Unterlagen?

Update: Die URLs werden von Wordpress / PHP verarbeitet

Antworten:


147
?var=var#hash

Alles danach #ist clientseitig.

Schauen Sie sich auch das Umschreiben von URLs an, um das Hässliche loszuwerden ?var=var


26
Abfragezeichenfolge ist hässlich, aber es hat seinen Zweck und ist flexibler
Morio

7
Was ist falsch an der Verwendung von Abfragezeichenfolgen? Sie sind aus einem bestimmten Grund Teil des HTTP-Standards
Julio Bastida

Ja, aber für SPAs (Single Page Applications), welche Parameter für clientseitige Parameter von Seite zu Seite?
Pete Alvin


3

Beachten Sie, dass der Browser die Abfragezeichenfolge möglicherweise ignoriert und zum Ankertag navigiert, ohne die Seite neu zu laden, wenn die URL sowohl Ankertags (#) als auch Abfragezeichenfolgen (?) Enthält.

Es kann erforderlich sein, die Seite mit a einzureichen

    <form action='webpage.php?q=string#tag' method='GET or POST'>
    <input type='text' id='q' name='q' value='string'>
    <input type='submit' value='submit'>
    </form> 

eher als nur ein URL-Link

    <a href='webpage.php?q=string#tag'>.

1

Wenn die Absicht der Verwendung darin #besteht, die Seitefragment zu bezeichnen, dann - ja, ?dann #.

Wenn #es vorher kommt ?und es keine Seite bezeichnet fragment(dies kann passieren, wenn #es Teil der Autorität ist (Benutzername und Passwort)), muss es verschlüsselt werden oder Sie haben Probleme. Gleiches gilt auch für alle anderen Sonderzeichen ( :, @, ...) , die unterschiedliche Bedeutung url geben könnte.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.