58

ハッシュ パラメータ、URL パラメータ、パスをいつ使用するかについて、規則やベスト プラクティスのアドバイスはありますか?

例えば:

  • ハッシュ パラメータ: stackoverflow.com/questions#q=13630937&t=hash-params-vs-url-params
  • URL パラメータ: stackoverflow.com/questions?q=13630937&t=hash-params-vs-url-params
  • URL パス: stackoverflow.com/questions/13630937/hash-params-vs-url-params

セキュリティ、seo、ユーザビリティの利点または欠点はそれぞれにありますか、それともスタイルの問題ですか?

4

1 に答える 1

53

ハッシュパラメータは、単一ページのjavascriptアプリケーションに役立ちます。これにより、javascriptは、アプリケーションの状態の共有可能なURLをユーザーに提示できます。単一ページのJavaScriptアプリケーションがあり、ユーザーがajaxを介してより多くのコンテンツをナビゲートしてロードし、URLを共有する場合、ハッシュやプッシュ状態を変更せずに、コンテンツを受信する人がホームページまたは開始状態を取得するため、これが推奨されます。ハッシュパラメータは簡単に修正でき、ページをリロードせずにJavaScriptで読み取ることができます。

ハッシュパラメータは通常、クライアント側でのみ使用され、ハッシュパラメータはサーバーに渡されません...したがって、これらはクライアントへのパラメータ化にのみ役立ちます。

/users#!/13

ユーザーインデックスページをロードすると、JavaScriptがハッシュを読み取ることができます

window.location.hashそして、それをある種のクライアント側ルーターに渡し、適切なajaxリクエストを作成し、場合によってはユーザーshowテンプレートをロードしてdomにプッシュします。

URLパラメータとURLパスは多少互換性があります。人々は通常、次のような安らかなリソースを説明するためにURLパスを使用します

/users/[:id] => /users/13 => /users?id=13
/users/:id/posts => /users/13/posts
/users/:user_id/posts/:id => /users/13/posts/22
etc......

@ウォルタートロス、SEOの観点から良い点を作った。スラッギングされたURLまたは「URLParams」は、クローラーによってインデックスに登録されやすく、ランクが高くなる傾向があります。

機知に富んだルートに収まらないパラメータについては、パラメータとして送信します

/users?sort=user_name&order=asc
于 2013-03-14T03:18:12.430 に答える