Webブラウザの画像キャッシュに影響を与える要因の完全なセットは何ですか?Web開発者はこれをどの程度制御できますか?また、ブラウザー設定はどのくらいですか?他のタイプのアセット(スクリプト、オーディオなど)について、さまざまな考慮事項がありますか?
ありがとう
要因の完全なセット:
Web開発者はほとんど制御できませんが、これは問題ありません。キャッシュはエンドユーザーの利益のために行われ、通常はページの読み込み時間を短縮するために行われることを忘れないでください。通常、すべてのユーザーに固有の考慮事項をすべて知ることは不可能です。
制御できるビットは、有効期限とキャッシュなしの動作です。これらはそれぞれ、リソースが変更されたと予想されるか、他の理由でキャッシュされるべきではないため、ユーザーがリソースを再フェッチすることを指定します。
ブラウザは他のリソースとは異なる方法で画像を処理する場合がありますが(主に、指定されていない場合のデフォルトの有効期限は異なります)、任意のリソースに対してHTTPヘッダーを送信できます。
クライアント側から、クライアントブラウザがIf-Modified-Sinceヘッダーをサーバーに送信するかどうかを確認します。クライアントがヘッダーを送信すると、IISは304 Not Modifiedと応答するため、クライアントはローカルキャッシュを使用してファイルを表示/使用します。
クライアント設定がこれを担当します。IE->ツール->インターネットオプション->閲覧履歴->設定->自動的にこれが行われるようにします。この設定では、ブラウザが異なればリージョンも異なります。
スクリプト/オーディオの場合、コンテンツ用の特別なフォルダーに配置し、サーバーからコンテンツの有効期限を設定するだけで、サーバーがクライアントに適切な情報を送信して、要求されたときにファイルをキャッシュできます。ただし、これは開発者向けの設定ではありません。
開発者設定は通常、動的ファイル用です。言語に基づいて[ASP.NETでは、OutputCacheディレクティブは異なるキャッシュヘッダーを作成します]これは異なります。