2009-05-28 10 views
0

私はPrivoxyをチェックすると、あるサイトからブラウザがダウンロードするものは、ページを構成するすべての要素(CSS、JS、アイコンなど)が毎回再ダウンロードされているようです。ブラウザが(申し訳ありませんが、新たな用途がURLを含めることが許可されていない)、それらをキャッシュしません:要素がキャッシュされているかどうか

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <TITLE>My Site</TITLE> 
    <meta name="keywords" lang="fr" content="whatever"> 
    <meta name="Description" lang="fr" content="whatever"> 

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    <meta name="Category" content="Internet"> 
    <meta name="revisit-after" content="2 days"> 
    <meta name="author" content="[email protected]"> 
    <meta name="identifier-URL" content="http://www.example.com"> 
    <meta name="robots" content="index, follow"> 
    <meta name="classification" content="Internet"> 
    <meta name="distribution" content="global"> 

    <meta name="geography" content="Paris"> 
    <meta name='language' content='fr'><meta http-equiv='content-language' content='fr'><meta name='rating' content='General'> 

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <link rel="alternate" type="application/rss+xml" title="My RSS" href="http://www.example.com/rss.php" /> 


    <link rel="shortcut icon" href="favicon.ico"> 
    <link rel="icon" href="animated_favicon1.gif" type="image/gif"> 

    <link rel="stylesheet" href="miseenforme.css" type="text/css"> 
    <link rel="stylesheet" href="css/screen2009.css" type="text/css"> 
    <!--[if lte IE 6]> 
    <link rel="stylesheet" href="css/screen2009-ie6.css" type="text/css"> 
    <![endif]--> 

    <style type="text/css">@import url(jscalendar-1.0/calendar-blue.css);</style> 
    <script type="text/javascript" src="jscalendar-1.0/calendar.js"></script> 

    <script type="text/javascript" src="jscalendar-1.0/lang/calendar-fr.js"></script> 
    <script type="text/javascript" src="jscalendar-1.0/calendar-setup.js"></script> 

    <script type="text/javascript" src="jquery-1.2.6.pack.js"></script> 
    <script type="text/javascript" src="jquery.scrollTo-min.js"></script> 
    <script type="text/javascript" src="jquery.autogrow.js"></script> 
    <script type="text/javascript" src="fonctionsjs.js?maj=v1"></script> 
</head> 

事実は、私は、このHTMLヘッダー内の任意のキャッシュ関連の指示が表示されない、です。

HTMLヘッダーに記載されていない限り、ブラウザ(IE、Firefox、Chrome)が何もキャッシュしないことを誰かが確認できますか?

ブラウザを強制的にキャッシュ要素に設定する必要がありますか?

ありがとうございます。

+1

私はブラウザがHTTPヘッダーを尊重することを期待していますが、あなたのケースではキャッシュ動作が指定されていないので、これらのブラウザのデフォルトの動作(HTTPプロトコルの場合)を確認する必要があります。 – niaher

+2

タイトルの「要素」は誤解を招く恐れがあります。それは他の何かを意味します。おそらく、あなたはおそらく「リソース」に変更することをお勧めしますか? – annakata

+0

助けを求めている人は、彼が返信に投稿した追加情報を見たいかもしれません:http://stackoverflow.com/questions/921630/are-elements-cached-or-not/922855#922855 – AnonJr

答えて

0

キャッシング(存在しないサーバー構成やその他の明示的な指示)は、通常、多くのアイテムのブラウザー設定です。十分な大きさのキャッシュが設定されていないか、キャッシングを無効にしている場合、またはブラウザが同じファイルを確認していない場合や、その他の可能性がある場合は、アイテムを再ダウンロードします。

設定できるサーバーコントロールがいくつかあります。実行しているサーバーがわかっている場合は、より良い回答を得ることができます。

最後に、http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.htmlhttp://www.web-caching.com/mnot_tutorial/how.htmlを参照してください。

your replyに基づいて

あなたのApacheの設定を見てみたい(私は...それは新しい名前であなたです推測しています)。私はApacheを使用したことがないので、どこから始めるべきかわからないでしょう...

また、私と他の人がリンクしている記事のいくつかを見たいと思っています。これはまったく単純なトピックではありません。 One articleは数回にリンクされています。 (ヒントのヒント)

私はこれについて100%確信していませんが、PHPがサーバーのキャッシュヘッダー設定をオーバーライドする方法を持っていると確信しています。ここやphp.netを調べる価値があります。

1

短いバージョン:ブラウザを変更せず、正しいキャッシュに関連するHTTPヘッダー*情報を送信してください。

ロングバージョン:ブラウザに何をどのようにキャッシュするかを明示的に伝えていない場合は、自由に選択してください。そのような設定は構成可能であり、ユーザーとユーザーとブラウザからブラウザまで非常に変化しますが、通常、ブラウザは画像、js、およびcssを積極的にキャッシュしますが、htmlではキャッシュできません。あなたが明示的にそれらを伝える必要があり、メタタグが単に尊重されないので、メタタグではなくレスポンスヘッダでこれを行う必要がある場合は、ブラウザに依存することは妥当ではありません。

短いバージョンの短いバージョンです。キャッシングはで、複雑なものはです。選択した言語プラットフォームのチュートリアルをGoogleにお勧めします。 HTMLのheadタグの


* ない内容、HTTPヘッダー

1

の内容は、あなたは彼らがキャッシュされていませんか?サーバーが静的要素のキャッシュ制御ヘッダーを出力しない場合、ブラウザーは各要素のサーバーにHTTP要求(キャッシュされたファイルのタイムスタンプ付き)を引き続き発行します。サーバは304ステータスで応答し、変更されません。したがって、ファイル自体は再送信されませんが、この要求応答はPrivoxyで表示されているものと同じかもしれません。

リクエストを保存するには、キャッシュコントロールヘッダーを設定するようにサーバーを設定する必要があります。ただし、サーバーの変更がクライアントに反映されない可能性があるので、すべてのクライアントが最新のバージョンを使用するように変更するたびに、css/staticファイルの名前を変更することをお勧めします。

0

私が最初にチェックするのは、あなたのブラウザでキャッシングが無効になっていると思いますか?

AFAIKでは、ブラウザの設定やHTTPヘッダーがこのキャッシュを無効にしない限り、ブラウザはほとんどのページ要素をキャッシュします。

第2の問題は、出力にキャッシュ関連のヘッダーを挿入して、ブラウザがすべての利用可能な情報を(設定された期間)キャッシュするよう特別に指示されることです。

Here's an excellent tutorialキャッシングの主題については、ブラウザのキャッシングがどのように機能するかについて多くの誤解を解消するのに役立ちます。

0

YSlowを使用して、ページの読み込みのパフォーマンスを向上させるために行うべきことを理解してください。また、クライアント側のキャッシュを最大限にするために(ブラウザ内で)何をすべきかを示します。

関連する問題