1

ページにいくつかの JS、CSS、画像ファイルがあり、キャッシュを使用しているため、ページ ブラウザに再度アクセスしてもサーバーにヒットしません。

しかし、ページを更新すると、ブラウザがサーバーにヒットし、サーバーが304 NOT MODIFIED.

通常の現象であることは知っていますが、ブラウザがサーバーにアクセスするのを防ぎ、ユーザーがページを更新するときに代わりにキャッシュからロードする方法があるかどうかを知りたいです。

たとえば、Google ページを更新すると、リソースの一部がキャッシュではなくロードされ304 NOT MODIFIEDます。

誰でもウェブ初心者を助けることができます:)?

4

1 に答える 1

0

これは正常な動作であり、通常はそのままにしておきます。あなたが言うように、有効期限または max-age 設定を適切に設定している限り、304 メッセージは更新時にのみ発生します。また、ユーザーが定期的に更新を行わない限り、通常、ユーザーがサイトを閲覧しても 304 は発生しません。

ただし、ユーザーがページを更新した場合でも、304 メッセージを回避できる状況がいくつかあります。

  1. JavaScript を介して要素の背景画像を設定します。
  2. iframe を使用して max-age を持つコンテンツをプルする (iframe 内を右クリックして [更新] をクリックすることで、iframe を更新できることに注意してください)。

試してみたい場合は、背景画像の例を次に示します...

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<div id="example-image" style="height: 250px;"></div>
<script type="text/javascript">
    $("#example-image").css("background", "white url(/images/myImage.jpg) no-repeat");
</script>

アップデート

AJAX GET が機能すると考えていましたが、間違っていたようですので、リストから削除しました。いずれにせよ、上に挙げた解決策は機能しますが、不格好で不快なので、通常は気にしません。


更新 #2

Steve Souders は、この問題に関していくつかの興味深い実験を行っています... http://www.stevesouders.com/blog/2013/02/26/reloading-post-onload-resources/

于 2013-06-02T14:43:45.213 に答える