9

クライアント側で自分のWebサイトを高速化する必要があります。私の過度のJavascriptCookie操作がブラウザの速度を低下させる可能性があるのではないかと思います。これは、コンピューターの最も遅いコンポーネントであるハードドライブを使用します。ひどく断片化されたハードドライブで、Cookieの操作によってブラウザがフリーズする可能性はありますか?

JSはCookieの書き込み/読み取り(キャッシングなど)の最適化を行っていますか?これらの最適化を利用してサイトを改善できますか?

サーバーがすでに過負荷になっているため、クライアント側のCookieをサーバー側のデータベースに置き換えることは問題外です。

4

4 に答える 4

11

クライアント側でページを高速化する方法はいくつかありますが、Cookieの使用を減らすと、せいぜい数マイクロ秒しか節約できないと思います。一般的には、必要なものだけを保存していることを確認してください。

ただし、次のような、実行できる最適化は他にもたくさんあります。

  • ファイルをgzip圧縮されたコンテンツとして提供する
  • サイトの多くがキャッシュ可能であることを確認する
  • CSSスプライトを使用し、javascript + cssファイルを組み合わせてHTTPリクエストを減らします(サーバーからの負荷も減らします)
  • javascript、css、htmlを縮小する

これらはすべて、ページの読み込み時間を短縮するための実証済みの方法です。

ページの読み込みを高速化する方法の詳細については、YSlowを入手してください。Firefox/Firebug用のプラグインhttp://developer.yahoo.com/yslow/

于 2010-09-27T22:18:55.337 に答える
0

恐ろしい意味を持つものではありますが、良い質問には+1します。

過剰に行われたことは、パフォーマンスに影響を与える可能性がありますが、ほとんどの場合、これはわずかです。私は、Cookieの読み取り/書き込みのためにJavaScriptによって行われる最適化を認識していませんが、ほとんどのディスクコントローラーの読み取り/書き込みキャッシュは、このI/Oを無視するまでスムーズにする必要があります。

なんで怖いの?

  1. Cookieにはサイズ/数量の制限がある場合があります:http ://support.microsoft.com/kb/306070およびhttp://en.wikipedia.org/wiki/HTTP_cookie

  2. Cookieは操作できるため、安全ではありません(Cookieの値を強力に暗号化していない限り、もちろんパフォーマンスに影響しますが、それでも悪い考えです)。

  3. クッキーが無効になることがあります。

データベースが遅いとおっしゃいましたが、いくつかのセッション変数を追加しても、データベースに追加の負荷はかかりません。または、メモリ内のクライアント側のデータを操作したり、クエリ文字列にいくつかの変数(もちろん安全でない情報)を渡したりしてみてください。

于 2010-09-27T22:21:23.333 に答える
0

Cookieは要求ヘッダーと応答ヘッダーの一部であるため、Cookieをロードすることは、すべての要求と応答をロードすることを意味します。次に、ドメインごとに合計50個のCookieに制限され、Cookieごとに4k個に制限されます。第三に、多くのユーザーはCookieを完全に恐れており、無害であってもCookieを削除する傾向があります。

これらの3つの理由により、Web開発者は、絶対に必要な場合(つまり、セッショントークン)を除いて、それらを使用することはめったにありません。Web開発者がそれらを使用することはめったにないため、それらの周りには「ベストプラクティス」がほとんどなく、あまり注目されない傾向があります。

対処する前に、問題となっているCookieと実際に相互作用していることを確認します。実装はブラウザ固有であるため、実際に使用するブラウザによって、これらのテストの結果は大きく異なる可能性があります。

于 2010-09-27T22:27:30.307 に答える
0

Cookieの操作自体は、パフォーマンスを重視するものではありません。ただし、Cookieは、Cookieのパスとドメイン設定に基づいて、HTTPリクエストの一部またはすべて(アップとダウンの両方)に沿ってタグ付けされます。1キロバイトのCookieがあり、ページごとに10個のリクエストを行う場合、基本的にリクエストとレスポンスのペイロードをそれぞれ10kbずつ増やします。

詳細については、 ServeFromCookielessDomainを参照してください。

于 2010-09-27T22:29:36.603 に答える