どっちなのWebサイトとしての要件を満たせるのか満たせないのか、という観点でいうと、どっちでもいいです。DBのテーブル名のルールと統一すると分かりやすくなるでしょう。DBが複数形ならURLも複数形!命名規則なんて宗教論争です。(絶対に結論が出ない)無駄な宗教論争を回避するためにルールを決めるのです!開発あるある(勝手にルールを変える)立ち上げの初代エンジニアは単数形で設計しました。規約にも単数形にしてます。「なんで単数形なの?普通複数形だろ。単数形の規約を削除しました。複数形2代目が追加したURLはすべて複数形になってしまいました。それを引き継いだ3代目エンジニア「なんで統一されてないんじゃーーー!!!」-ルールを決めたら守りましょう。Web設計パターンuser情報を表示する画面のURL設計をする場合以下の二通りに分けられるのではないでしょうか/user?id=12345(QueryString)/user/12345(URLに含める)どちらが優れてるのか?と言われると、どちらが優れてることはないと思います。以下のことができれば、どちらでもいいですよね。ControllerのActionメソッドにルーティングされることパラメータを取得できることパラメータのバリデーションを共通ルールで行えることあとは、設計者の好みの問題も大きいと思います。大事なのは、きちんと利用するMVCフレームワークについて、上記を可能にする手段が提供されているかを確認する必要が有ります。QueryStringの場合どのフレームワークでも対応可能と思います。URLに含める場合きちんとルーティングができるかを確認しておく必要が有ります。調査に時間がかかったり、要件を満たせなくなることは避けたほうがいいです。QueryStringを使うべきではないURL階層構造をもつ場合はQueryStringを使わないURLWindowsのエクスプローラ(MacだとFinder)のディレクトリ階層みたいな感じですね。2010年1月15日のスケジュール一覧これをqueryStringで表すと/schedule?y=2010&m=01&d=15QueryStringは順番を入れ替えたり、パラメータを含める、含めないを可変に行えるので、次のようなアクセスもできてしまいます。/schedule?d=15dがあるときはy,mは必須mがあるときはyは必須という複雑なバリデーションを求められます。パラメータの項目が可変になる場合はQueryStringを使ったURL主に検索などです。inputを配置することが多いです。この場合はやはり、QueryStringになります。在庫検索(品名、品番、カテゴリ、、、)/stock/search?pnm=xxx&pcd=xxx&pca=xxxx検索条件の場合、一般的な仕様としてパラメータを含めれば検索条件に含めるパラメータを含めなければ検索条件に含まれないという組み合わせが存在します。パラメータをURLに含める形式の場合これらは実現できません。フレームワークによってはパラメータを一つのModelObjectとしてActionメソッドに渡すことができ、Model内部でバリデーションを行い、Actionに渡ったときにはバリデーション結果が分かっているという機能を持つものも多いです。複雑な入力が行われる画面についてはQueryStringをお勧めします。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。