web-dev-qa-db-ja.com

外部の静的スクリプトをキャッシュしますか?

より高速なWebサイトを求める終わりのない探求では、おそらくいくつかのスクリプトをキャッシュできると思いました。 Yslowを使用してサイトを評価しています。すべてがほぼAです(これは素晴らしいことです。PingdomのWebサイトは0.4〜0.6秒でロードされ、競合他社よりも5〜20倍高速です)。

期限切れヘッダーを追加します。

(2011/7/7) http://fonts.googleapis.com/css?...
(2011/7/6) http://fonts.googleapis.com/css?...
(no expires) http://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4d7a205f1e2a0b4b

DNSルックアップが多すぎる:

コンポーネントは4つ以上のドメインに分割されています

static1.scirra.net:4つのコンポーネント、19.3K(4.3K GZip)

fonts.googleapis.com:2つのコンポーネント、0.8K(0.5K GZip)

static3.scirra.net:2つのコンポーネント、5.5K(2.7K GZip)

static4.scirra.net:3つのコンポーネント、12.7K

static2.scirra.net:3つのコンポーネント、76.6K

s7.addthis.com:3つのコンポーネント、126.3K(40.4K GZip)

ajax.googleapis.com:1コンポーネント、78.6K(27.1K GZip)

www.scirra.com:1つのコンポーネント、8.0K(3.3K GZip)

SOに関するこの答え:

https://stackoverflow.com/questions/1439042/how-can-i-add-expire-headers-for-scripts-that-are-not-on-my-server/1439128#1439128

これらを取得し、独自のサーバーから提供する仲介キャッシュスクリプトを使用することをお勧めします。

考え?あなたが私のようなスピードナッツなら、私たちの帯域幅を犠牲にして、ユーザーのロード時間をいくらか削減することを期待できますか?

7
Tom Gullen

unique静的ファイルを独自のドメインに移動して、ドメインのルックアップを減らし、expireヘッダーを制御することは、マスターファイルをチェックする準備ができていれば、良い考えです定期的に変更します。

common静的ファイルを自分のドメインに移動することは、常に良いアイデアとは限りません。なぜなら、ユーザーが別のサイトから既にキャッシュしている場合、利益を失うからです。訪れたことがある。 (例: Google Libraries API。 でホストされているGoogle Web FontsとJavaScriptファイル

[余談:私の知る限り、pingdomはページの読み込み時間ではなく、サーバーresponse時間を測定しますが、それでも0.6秒は速く聞こえます!]

8
Nick

現時点では、帯域幅はほとんどコモディティです。特に、ユーザーに送信する前に ファイルの圧縮 sを使用している場合。そして、ページ速度は 検索ランキング だけでなく、より重要なことですが コンバージョン率 に影響することが証明されているため、これは採用するのに悪い戦略ではないと思います。キャッシングエンジンが、キャッシングしている外部スクリプトのいずれかの更新に対応していることを確認してください。それらと同期していないと、望ましくない結果が生じる可能性があります。

4
John Conde