2013-03-06 9 views
17

Gibt es eine Konvention oder Best-Practice-Ratschläge, wann Hash-Parameter, URL-Params und Pfade zu verwenden sind?Hash-Params vs URL Params, wann welche verwenden?

Zum Beispiel:

  • Hash params: stackoverflow.com/questions#q=13630937 & t = hash-params-vs-url-params
  • url params: stackoverflow.com/questions?q = 13630937 & t = hash-params-vs-url-params
  • uRL-Pfad: stackoverflow.com/questions/13630937/hash-params-vs-url-params

gibt es Sicherheit, sEO, Usability ben Welche oder Nachteile von jedem oder ist ein Problem des Stils?

Antwort

21

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 
+1

Pfad und Query-String (URL params) von der SEO-Sicht nicht austauschbar params sind –

+0

@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. –

Verwandte Themen