2016-09-10 7 views
9

昨日、私たちは自宅では何の力も持っていなかったので、インターネットはありませんでした。キャッシングについて理解していますか?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
<script> 
     window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>') 
</script> 
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script> 
<script src="http://cdnjs.cloudflare.com/ajax/libs/masonry/3.1.5/masonry.pkgd.min.js"></script> 
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/123941/imagesLoaded.js"></script> 
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/123941/masonry.js"></script> 

しかし、それはそれはだろう、そうではありませんでした。だから私は、「index.htmlを」の最後に、私が持っているので、私は、ローカルで私のWebアプリの仕事を持っていることができないだろうと想定しましたスムーズに動作します。だから私は、ブラウザがこれらのjsファイルを最後にダウンロードしたことを思い出したと思いました。

wep-appをリロードしても、インターネットに接続されていないため、jsファイルを読み込むことができませんでした。この現象は何度も起こります。それはダウンロードに失敗するだろうどちらの場合も

<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans+Caption:400,700"> 

が、それは重大なエラーではありません。 のがプロジェクトファイルのローカルにあることに注意してください。その理由は関係ありません。

私は理由を理解しようとしていますか?

MacBook Pro El Capitanでは、バージョン52.0.2743.116(64ビット)を使用しています。


鉱山は:ブラウザはJSファイルのキャッシュされたバージョンを使用し、それでも通常のリロードには

答えて

3

いくつかの外部ファイルは、遠未来の有効期限を持っていない...それらを再ダウンロードしようとするだろうHTTPヘッダーに設定された日付。

私はGoogleのフォントでページをロードするときは、ここでは、わかりますが、レスポンスヘッダは次のとおりです。

GoogleのフォントAPI

Access-Control-Allow-Origin: * 
Cache-Control: private, max-age=86400 
Content-Encoding: gzip 
Content-Type: text/css; charset=utf-8 
Date: Sat, 10 Sep 2016 04:55:29 GMT 
Expires: Sat, 10 Sep 2016 04:55:29 GMT 
Link: <http://fonts.gstatic.com>; rel=preconnect; crossorigin 
Server: ESF 
Timing-Allow-Origin: * 
Transfer-Encoding: chunked 
X-Frame-Options: SAMEORIGIN 
X-XSS-Protection: 1; mode=block 

あなたは、Googleがアップ務めたことをここに気づくでしょうこのフォントはインスタント有効期限付きです。 (私はSat, 10 Sep 2016 04:55:29 GMTのファイルにアクセスし、それは同時にその時間切れになります)これはおそらく最初にロードされたことはありません。

それ以外は、JSリビジョンの後にJSファイルが利用できなくなった理由は正直に分かりません。残りのファイルには、未来の有効期限ヘッダがあります。私はそれをFirefoxバージョン48.0.1で問題なくテストしました。最初にスクリプトにページを読み込んだ後、「オフラインで作業する」を選択しました。ブラウザは、リフレッシュまたはF5を何度押せば、これらのファイルのキャッシュされたバージョンを提供し続けました。おそらくあなたのブラウザでの設定ですが、私はあまり確信できません。たぶん誰か他の人がこれについてもっと詳しい情報を持っています。

+0

ニッキーありがとうございます。 +1。私は[タグ:クロム]をデフォルト設定で使用しています...他の回答が掲載されるのを待つことになります。興味深い質問を見つけたので、私はあなたがすでにupvotedと思います、ありがとう! – gsamaras

+1

@gsamaras本当に面白い質問です! – NickyTheWrench

関連する問題