5

「Web ページは、より多くのスクリプト、スタイル シート、画像、および Flash でますます複雑になっています。初めてページにアクセスすると、すべてのコンポーネントをロードするためにいくつかの HTTP リクエストが必要になる場合があります。Expires ヘッダーを使用することで、これらのコンポーネントはキャッシュ可能になります。後続のページ ビューで不要な HTTP リクエストを回避します。Expires ヘッダーはほとんどの場合、画像に関連付けられていますが、スクリプト、スタイル シート、Flash を含むすべてのページ コンポーネントで使用できますし、使用する必要があります。」

イースローに書かれている通り。

私の質問は、複数のスタイルシート、Flash ヘッダー、Javascript、画像、PDF、MS Excel ファイル、PPT などを含む Web サイトの有効期限ヘッダーに設定するのにどれくらいの時間が適切でしょうか?

すべてのものに同じ有効期限を設定したい場合。

4

2 に答える 2

6

私が行っているのは、CSS および JavaScript ファイルの有効期限を 1 年または 5 年などの高い値に設定することです。スタイルシートまたは JS ファイルを変更するときは、URL のバージョン番号を変更して、古いファイルがキャッシュから提供されるのを防ぎます。

これもSOが行うことのようです:

<link rel="stylesheet" href="http://sstatic.net/stackoverflow/all.css?v=e27c9b7474df">

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

<script src="http://sstatic.net/js/question.js?v=b05e8725a843" type="text/javascript"></script>

したがって、スタイルシートを変更すると、 に変更all.css?v=e27c9b7474dfされall.css?v=some new versionます。question.jsJavaScript ファイルは同じ規則に従います。ただし、ファイル名も機能します。CSS/JS ファイルを呼び出してall-1.css、それをall-2.cssなどに変更できます。URL が変更される限り、バージョン番号の実際の形式はユーザー次第です。

于 2010-07-29T12:53:58.093 に答える
2

ページのリソース (images/css/js) が通常変更されず、静的である場合は、Expires ヘッダーを1 yearのように遠くに設定できます。

ページ自体については、実際にはコンテンツに依存します。コンテンツを頻繁に変更する場合は、Expires ヘッダーがそれほど大きく設定されていないことを確認する必要があります。そうしないと、訪問者が古いコンテンツを受け取ることになります。

SO 自体のようなサイトについて考えてみると、コンテンツが頻繁に変更されるため、ページの有効期限ヘッダーが非常に小さくなっています。ヘッダーから、彼らは 60 秒の最大経過時間を使用し、現在から 1 分後に期限切れヘッダーを持っているように見えます。

于 2010-07-29T12:46:15.160 に答える