Webサービスにおいて、URLにクエリストリングを使う場合とスラッシュ区切りにする場合とがあると思いますが、両者の正しい使い方と使い分けはどのようなものなのでしょうか?

PHP | ホームページ作成79閲覧xmlns="http://www.w3.org/2000/svg">250

ベストアンサー

0

ThanksImg質問者からのお礼コメント

みなさん丁寧に回答いただきありがとうございます。 非常に勉強になりました。 結果的にURLは田中東さんに提示いただいた例に最も近い形となりましたので、ベストアンサーとさせていただきます。

お礼日時:10/24 16:53

その他の回答(2件)

0

クエリストリングを使ったURLは、むかしは「ダーティーなURL」とよばれ、いまでもSEO的にはリンクスコアが小さいようです。 「ダーティーな」という表現ですが、単純に「汚ない」という意味と、「てっとり早くて下品な」という意味があります。 URLは意味性を持たせることが需要なので、めっちゃ丁寧にやるなら、 /article/getComment//article/12345/comment/115 が正しいようにおもいます。 フレームワークはルーティング設定は完全に自由なので。

0

> コンテンツが多いため、数ページに分割する場合では、 > /content?page=2 /content までに意味があり、その一部だったり、調整だったり、付加的なものだったり、...を指すならクエリを使うかなぁ。 > 記事が複数あるニュースサイトのような場合では記事を指定するのに > /content/12345 12345 まで存在して初めて意味があるページだからでは? 12345の記事の 2ページ目を表示するのに /content/12345/2 でも /content/12345?p=2 でも 単に表示するだけなら全く問題はないはず。 要は提供者がどう感じているかだけだと思う。 __Cookieを、 / ではなく、意味のある単位で __保持しようとするなら、その意味があるところまでを __パスとして表現すべきと思う > 115はあってもなくても、全体の中に表示される 全体が表示されていて、ターゲットまでページ内を移動する様な事を指しているのなら、そういう時は #115 なのでは? ?nbr=115 でも、/115でも、存在しない場合はその旨を明示すべきと思う。 __存在しない事を明示した上で __代替のターゲットを表示(移動)する > 親ディレクトリ(内部ではモデル名)をcomments などに変えるのであれば、以下が正しい パスの一部がモデル名であろうが、そうでなかろうが、気にしないなぁ... 例えば、同じユーザID(やユーザ名)を使う場面でも、ユーザの「マイページ」なら、パス表記にするかもしれないし、管理画面上での「ユーザ情報」なら、クエリかな。 __シリアル的な IDだと推測できてしまうので __/mypage としておいて、セッションで... だとは思う

ありがとうございます。 >全体が表示されていて、ターゲットまでページ内を移動する様な事を指しているのなら、そういう時は #115 なのでは? フラグメントは特定の位置を指定はできますが、他の要素も読み込むため、特定の要素のみを表示することはできません。 言葉足らずだったかもしれませんが、特定の要素「のみ」表示したいので、パラメータかスラッシュ区切り(ルートパラメータ)のいずれかでの指定が必要です。 記事のコメントの中で特定のコメント番号だけ表示したい場合、以下のいずれが適切でしょうか。 (いずれの方法でも実現できることは理解しています。)