775 Stimmen

Bindestrich, Unterstrich oder camelCase als Worttrennzeichen in URIs?

Ich entwickle eine HTTP-basierte API für eine Intranet-Anwendung. Ich erkenne, dass es ein ziemlich kleines Anliegen im großen Schema der Dinge ist, aber: Sollte ich Bindestriche, Unterstriche oder camelCase verwenden, um Wörter in den URIs zu trennen?


Hier sind meine ersten Gedanken:

camelCase

  • mögliche Probleme, wenn der Server Groß- und Kleinschreibung nicht berücksichtigt
  • scheint in Abfragestring-Schlüsseln ziemlich weit verbreitet zu sein ( http://api.example.com?**searchQuery**=... ), aber nicht in anderen URI-Teilen

Bindestrich

  • ästhetisch ansprechender als die anderen Alternativen
  • scheint im Pfadteil des URI weit verbreitet zu sein
  • noch nie in freier Wildbahn ein Schlüssel mit Bindestrich gesehen
  • möglicherweise besser für SEO (dies könnte ein Mythos sein)

Unterstrich

  • potenziell leichtere Handhabung durch Programmiersprachen
  • mehrere beliebte APIs (Facebook, Netflix, StackExchange , usw.) verwenden Unterstriche in allen Teilen des URI.

Ich tendiere zu Unterstrichen für alles. Die Tatsache, dass die meisten großen Unternehmen sie verwenden, ist überzeugend (siehe https://stackoverflow.com/a/608458/360570 ).

8voto

K D Punkte 277

Es wird empfohlen, den spinal-case zu verwenden (hervorgehoben durch RFC3986 hervorgehoben wird), dieser Fall wird von Google, PayPal und anderen großen Unternehmen.

Quelle:- https://blog.restcase.com/5-basic-rest-api-design-guidelines/

EDIT: Obwohl die Hervorhebung auf dem RFC nirgends zu finden ist, ist die Empfehlung für den Fall der Wirbelsäule immer noch gültig (wie bereits in anderen Antworten erwähnt)

6voto

Peter Smith Punkte 21

Wir sollten Bindestriche in den URLs von Webseiten verwenden, um die Suchmaschinen davon zu überzeugen, jedes Schlüsselwort in der URL separat zu indizieren.

-3voto

user2597538 Punkte 21

Hier ist das Beste aus beiden Welten.

Ich "mag" auch Unterstreichungen, abgesehen von all den positiven Punkten, die Sie über sie sagen, haben sie auch einen gewissen Old-School-Stil.

Ich verwende also Unterstriche und füge einfach eine kleine Rewrite-Regel in die .htaccess-Datei Ihres Apache ein, um alle Unterstriche in Bindestriche umzuschreiben.

https://yoast.com/apache-rewrite-dash-underscore/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X