URI の単語区切り文字としてハイフン、アンダースコア、またはキャメルケースを使用できますか? 質問する

URI の単語区切り文字としてハイフン、アンダースコア、またはキャメルケースを使用できますか? 質問する

イントラネット アプリ用の HTTP ベースの API を設計しています。全体的な計画の中では、これは非常に小さな問題だと認識していますが、URI 内の単語を区切るには、ハイフン、アンダースコア、またはキャメルケースのどれを使用すればよいでしょうか。


私の最初の考えは次のとおりです。

キャメルケース

  • サーバーが大文字と小文字を区別しない場合に起こりうる問題
  • クエリ文字列キー()では広く使用されているようですhttp://api.example.com?**searchQuery**=...が、他のURI部分ではそうではありません。

ハイフン

  • 他の選択肢よりも見た目が美しい
  • URIのパス部分で広く使用されているようです
  • ハイフンでつながれたクエリ文字列キーは見たことがない
  • SEO に良いかもしれない(これは誤解かもしれない)

アンダースコア

  • プログラミング言語で扱いやすくなる可能性がある
  • いくつかの一般的な API (Facebook、Netflix、 StackExchange など) は、URI のすべての部分でアンダースコアを使用しています。

私はすべてにアンダースコアを使うことに傾いています。ほとんどの大手企業がアンダースコアを使用しているという事実は説得力があります(https://stackoverflow.com/a/608458/360570)。

ベストアンサー1

クロール可能なウェブアプリケーションのURLではハイフンを使用する必要があります。なぜでしょうか?ハイフンは単語を区切るため(検索エンジンが個々の単語をインデックスできるようにするため)、ハイフンは単語の文字アンダースコアは単語文字であり、単語の一部とみなされることを意味します。

Chrome でこれをダブルクリック: camelCase
Chrome でこれをダブルクリック: under_score
Chrome でこれをダブルクリック: hyphen-ated

Chrome (Google も検索エンジンを作っているそうです) が、そのうちの 1 つだけを 2 つの単語であると認識しているのがわかりますか?

camelCaseまた、underscoreユーザーにshiftキーの使用を要求しますが、 ではhyphenated要求しません。

クロール可能な Web アプリケーションでハイフンを使用する必要がある場合、イントラネット アプリケーションでわざわざ別の操作を行う必要があるでしょうか。覚えておくべきことが 1 つ減ります。

おすすめ記事