ブラウザがメタタグを読み取ることはありますが、プロキシは読み取らないため、メタタグにキャッシング命令を入れることはお勧めできません。そのため、これらは無効であり、実際のHTTPヘッダーとしてキャッシュ命令を送信する必要があります。
HTMLソリューションはありません。 Mozillaのアプリケーションキャッシュ(cache.manifest)は非推奨です。アプリケーションキャッシュサイトには次のように記載されています。
この機能は、Web標準から削除されました。一部のブラウザではまだサポートされている場合がありますが、削除される過程にあります。使用を避け、可能であれば既存のコードを更新してください。 ...代わりに Service Worker を使用します。
それとは別に、キャッシュの問題を解決するために HTTP Cache-Control を使用することをお勧めします。
コードの最初では、これを使用する必要があります。
<!DOCTYPE html>
<html manifest="cache.manifest">
...
次に、キャッシュするコンテンツを含むcache.manifestファイルを作成します。
CACHE MANIFEST
# 2010-06-18:v2
# Explicitly cached 'master entries'.
CACHE:
/favicon.ico
index.html
stylesheet.css
images/logo.png
scripts/main.js
# Resources that require the user to be online.
NETWORK:
*
# static.html will be served if main.py is inaccessible
# offline.jpg will be served in place of all images in images/large/
# offline.html will be served in place of all other .html files
FALLBACK:
/main.py /static.html
images/large/ images/offline.jpg
マニフェストには、CACHE、NETWORK、およびFALLBACKの3つの異なるセクションがあります。
CACHE:これは、エントリのデフォルトセクションです。このヘッダーの下(またはCACHE MANIFESTの直後)にリストされたファイルは、初めてダウンロードされた後に明示的にキャッシュされます。
NETWORK:このセクションにリストされているファイルは、キャッシュにない場合はネットワークから取得される可能性があります。そうでない場合、ユーザーがオンラインであってもネットワークは使用されません。ここで特定のURLをホワイトリストに登録するか、単にすべてのURLを許可する「」を指定できます。ほとんどのサイトには「」が必要です。
FALLBACK:リソースにアクセスできない場合の代替ページを指定するオプションのセクション。最初のURIはリソース、2番目はネットワーク要求が失敗またはエラーした場合に使用されるフォールバックです。両方のURIは、マニフェストファイルと同じOriginからのものでなければなりません。特定のURLだけでなく、URLプレフィックスもキャプチャできます。 「images/large /」は、「images/large/whatever/img.jpg」などのURLからエラーをキャプチャします。
マークアップの問題ではないため、HTMLソリューションはありません。キャッシュはリソースに対するアクションであり、リソース定義自体の一部ではありません。
他の人が言ったように、HTTPヘッダーはall caches-<meta>
タグは、ブラウザのキャッシュでのみ監視されます。これらは、サーバー/ Webフレームワークによって設定する必要があります。
とは言っても、ブラウザがまだ<meta http-equiv="cache-control" content="no-cache">
は、HTML5 Doctypeのページ用です。