5

異なる要素(スプライト画像)に同じ画像を使用している場合、これは新しいHTTPリクエストであるため、通常はその画像を再度呼び出すことはありません。

私はむしろ使用します:

element1 {
    background: url(someImage.png);
}

element2 {
    background-image: inherit;
}

これはHTTPリクエストを保存していますか?

または、ブラウザがスマートで、次を使用できる場合:

element1 {
    background: url(someImage.png);
}

element2 {
    background: url(someImage.png);
}

ブラウザは新しいHTTPリクエストを作成しますか?または、この画像がすでにキャッシュされていることを知っていますか?

問題は、例1を使用して何かを得ることができるかということです。

4

3 に答える 3

5

あなたが説明するシナリオでは、ブラウザは基本的に1ページで同じ画像を数回参照し、これはほぼ確実にキャッシュされます。

さまざまなページで、答えはブラウザによって異なります。サーバーが送信する有効期限ヘッダーによって、準拠エージェントのキャッシュ動作に影響があります。

于 2010-01-20T18:27:39.757 に答える
4

はい、ブラウザはキャッシュからCSSファイル内の同じ画像への2番目の参照をロードします。Firebugを使用すると、ブラウザによって行われたすべてのHTTPリクエストを確認できます。

于 2010-01-20T18:27:15.297 に答える
1

物事を簡素化し、リソースをキャッシュして帯域幅を節約したい場合は、Webサイトのルートにappcache.appcacheファイルを作成する必要があります。このリンクは、appcacheの作成に関するチュートリアルを提供します。ユーザーがサイトに複数回アクセスした場合はhttpリクエストを節約し、キャッシュにすでに存在する場合は同じ画像を2回リクエストすることを節約します。

ハッピーキャッシング!

于 2012-09-04T19:56:42.823 に答える