6

の利点は何ですか

 http://www.example.com/app/servlet/cat1/cat2/item 

URL

以上

 http://www.example.com/app/servlet?catid=12345

URL

最初は最初のURLを使用していて、2番目のURLに変更したため、最初のURLを使用すると問題が発生する可能性があります。これは、ウェブサイト上の絶えず変化する大規模なコンテンツのコンテキストです。ここでは、カテゴリの数は無限になります。

4

5 に答える 5

3

RESTful アプリケーションに関しては、URL テンプレートを気にする必要はありません。「より良い」ものは、​​アプリケーションが生成しやすいものです。

インデックス作成と SEO に関しては、申し訳ありませんが、検索エンジンがハイパーメディア API を理解してインデックスを作成できる可能性は低いでしょう。

URL について理解を深めるには、以下をご覧ください。

于 2012-06-24T14:57:35.963 に答える
2

違いの 1 つは、2 番目の URL がカテゴリに名前を付けていないことです。そのため、クライアント コードと実際の人間のユーザーは、最初にカテゴリ名から番号へのマッピング ページを検索し、それらのマッピングを保存し、それらを常に使用し、必要に応じてリストを更新する必要があります。最初の URL があれば、アイテム ページで言及されていなくても、必ずカテゴリを知っているはずです (ただし、いずれにせよ、サイトのどこかにカテゴリのリストが必要な場合もあります)。

もう 1 つの違いは、最初の形式は 2 つのレベルの分類をエンコードするのに対し、2 番目の形式はレベルの数を隠していることです。これにより、深度をどの程度可変にするか (現在または後で)、および誰かがコードを 2 レベルの深度に不適切に結合するかどうか (たとえば、2 つのサブグループを使用してカテゴリをキャプチャする正規表現で URL を解析することによって) に応じて、物事が簡単または困難になる可能性があります。 )。もちろん、id->category-path マッピング ページにリストされている現在の深さのカテゴリにそれらが関連付けられている場合、同じ問題が存在する可能性があります....

于 2012-06-23T17:19:19.900 に答える
2

SEO に関しては、これが検索エンジンにインデックスを付けてもらいたいものである場合、最初に、カテゴリ名がその下のコンテンツを説明するものであると想定する方が適切です。ほとんどのエンジンは、検索クエリに一致する URL を優先します。ただし、カテゴリ名が変更される可能性がある場合は、変更時に301 リダイレクトを維持する必要があります。

于 2012-06-23T17:24:39.310 に答える
2

最初の形式は、検索エンジンによってより適切に索引付けされ、よりキャッシュに適しています。後者は、利点 (サーバーの負荷を減らすことができる) と欠点 (ユーザーがページを再訪問したことを必ずしも意識しているとは限らず、ページの変更がユーザーにすぐに反映されない可能性があります。これを達成するために取られた)。

最初の形式では、URL から目的のアイテムを取得するために (やや) 重い処理も必要です。

URL 構文を制御できる場合は、次のようなものをお勧めします。

 http://www.example.com/app/servlet/cat1/cat2/item/12345

さらに良いことに、URL の書き換えによって、

 http://www.example.com/cat1/cat2/item/12345

ここで、12345 はリソース ID です。次に、データにアクセスすると(とにかく行ったはずです)、すばやくアクセスできます。レコードが cat1、cat2、および item と一致することを確認するだけです。ページ キャッシュの設定を試して、ETag (おそらく ID に基づくか?) と Last-Modified ヘッダーを送信し、If-Modified-Since と If-None-Match ヘッダー リクエストを確認してください。

于 2012-06-23T18:32:22.070 に答える
2

ここにあるのは、「より良い」索引付けの問題ではなく、関連性の問題です。

したがって、1 番目の URL は、ページが主題により関連しているとマークします (ページ/猫の名前と主題の間の相関関係を想定)。

例: 2 人とも「赤いナイキ シューズ」でランク付けしたいとします。(簡単にするために) URL を除くすべての SEO 要素で両方とも同じ「スコア」を得たとします。1 番目のケースでは、URLhttp://www.example.com/app/servlet/shoes/nike/red-nice は 2 番目のhttp://www.example.com/app/servlet?itemid=12345.

両方の文字列を見るだけで、どちらが関連性が高いかを直感的に判断できます...最初の文字列は前もって「はい、私は赤いナイキ シューズが大好きです」と伝え、2 番目の文字列は「赤いナイキ シューズですか?」とつぶやきます。アイテムコード12345のことですか?」

また、URL にキーワードの一部を含めることで、より関連性を高めることができ、手間をかけずに「ロングテール」の目標を達成するのにも役立ちます。(URL に KW を含めるだけで十分な場合もあります)

しかし、問題はさらに深刻です。2 番目のタイプの URL にはパラメーターが含まれており、(99.9% の確率で) 重複コンテンツの問題が発生する可能性があります。パラメータを使用する場合、次のような質問に対処する必要があります。

  • 存在しない catid はどうなりますか?
  • パラメータの検証はありますか?(そして、それはどの程度完全な証拠ですか?)

や。。など。

では、なぜ 2 番目のバージョンを選択するのでしょうか。選択の余地がない場合があるからです... :)

于 2012-06-24T12:27:34.143 に答える