Hash-Parameter sind nützlich für Single-Page-Javascript-Anwendungen, es ermöglicht Javascript, den Benutzer mit einer gemeinsam nutzbaren URL für den Zustand der Anwendung zu präsentieren. Dies ist bevorzugt, da wenn Sie eine einzelne Seite Javascript-Anwendung haben und Benutzer navigieren und laden mehr Inhalt über Ajax und teilen Sie die URL, ohne die Hash-oder eine Push-Status-Änderung die Person erhalten den Inhalt würde die Startseite oder Ausgangszustand. Hash-Params können leicht geändert und mit Javascript gelesen werden, ohne die Seite neu zu laden.
Hash-Parameter werden normalerweise nur auf der Client-Seite verwendet, Hash-Parameter werden nicht an den Server übergeben ... und sind daher nur für die Parametrisierung des Clients nützlich.
/users#!/13
würde die Benutzer-Index-Seite geladen wird und dann könnten Sie Javascript um die Hash-
window.location.hash
lesen und es durch eine Art von Client-Seite Router passieren und einen entsprechenden Ajax-Request machen und möglicherweise den Benutzer zeigt Vorlage laden und Push es zum dom.
URL-Parameter und URL-Pfad sind etwas austauschbar. Menschen URL-Pfad in der Regel solche zum Beschreiben erholsamen Ressourcen als
/users/[:id] => /users/13 => /users?id=13
/users/:id/posts => /users/13/posts
/users/:user_id/posts/:id => /users/13/posts/22
etc......
@Walter Tross, ein guter Punkt von einem SEO Sicht gemacht. Slugged-URLs oder "URL-Params" sind von Crawlern eher indexierbar und neigen dazu, einen höheren Rang einzunehmen.
Für params, die in einer einfalls Route nicht passen wir sie senden, wie
/users?sort=user_name&order=asc
Pfad und Query-String (URL params) von der SEO-Sicht nicht austauschbar params sind –
@WalterTross, wenn Sie bereit wären, um eine weitere Antwort mit einer etwas gründlicheren Erklärung des Unterschieds zwischen Pfad und Abfragezeichenfolge params WRT SEO hinzuzufügen, die hilfreich sein könnte. –