2011-12-06 2 views
3

私はGoogles Jqueryの読み込みスクリプトinlinkを使用すると、そのファイルが既にキャッシュに保存されている場合、ユーザーのコンピュータはまだGoogleに連絡してのANYのページが読み込まれますか?Google Jquery APIのping?

例:

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

答えて

1

ブラウザのキャッシュ設定、ファイルが最初にロードされたときにサーバから送信されたキャッシュ・ヘッダー、およびファイルがロードされた最後だったので、時間に応じて、ブラウザはまだかもしれませんIf-Modified-Since HTTPヘッダーで要求を発行します。これは、最初にブラウザー/クライアントが受信してからファイルがサーバー側で変更されていない場合、HTTP 304 "Not Modified"応答になります。

$ curl -i http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js 
HTTP/1.1 200 OK 
Vary: Accept-Encoding 
Content-Type: text/javascript; charset=UTF-8 
Last-Modified: Thu, 10 Nov 2011 18:58:43 GMT 
Date: Wed, 30 Nov 2011 15:18:56 GMT 
Expires: Wed, 30 Nov 2011 15:18:56 GMT 
X-Content-Type-Options: nosniff 
Server: sffe 
X-XSS-Protection: 1; mode=block 
Cache-Control: public,max-age=31536000 
Age: 518244 
Transfer-Encoding: chunked 

日のLast-Modified:私はこれの詳細に対処しなければならなかったので、そのはしばらくされているが、このURLはGoogleによって返される

HTTPヘッダは、少し面白いです、Expiresはすべて過去のものですから、すぐに期限切れになることを意味しています。キャッシュコントロールとエイジヘッダーがあり、1年(31536000秒)キャッシュする必要があります(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9が必要に応じて実行されている場合)。

+0

「標準」/デフォルトのブラウザ設定の場合は、それはいいですか? – David19801

+0

それは異なります。私はそれを試して試してみよう。また、Iljaasのコメント/回答に注意してください。ユーザーはいつでも更新を強制することができます。ライブラリをコピーして自分のサーバーからホストするための+1。 – ziesemer

+0

時々通知されるかどうかは気になりませんが、Googleが自分のウェブサイトとトラフィックデータの完全な分析を得られないようにしたいと思います。 – David19801

1

サイトの読み込み時にブラウザがGoogleに接続しないようにするには、jqueryをサーバーにコピーしないでください。

つまり、ユーザーのブラウザでキャッシュを無効にすることができます。また、ユーザーは強制的にリフレッシュを実行できます。また、ブラウザに強制的にGoogleに接続してファイルを更新させるようなHTTPヘッダーがあります。

0

そのままにしてください。ユーザーがGoogleのCDNからブラウザキャッシュにコピーを持っていれば、そうでない場合は別のコピーをダウンロードしません。