web-dev-qa-db-ja.com

現在のページでキャッシュが機能していることを確認するにはどうすればよいですか?

一部のモジュールは、特定のページのキャッシュをサイレントにオフにします。これが事実であることを確認し、問題のあるモジュールを特定する最も簡単な方法はどれですか。

9
user11153

最も簡単な方法は、おそらくHTTP応答ヘッダーを検査することです。

たとえば、ブラウザのDOMインスペクタツール(例 Chromeの[ネットワーク]タブ

キャッシュミス

次に、キャッシュミスを示すdrupal.orgのサンプルレスポンスヘッダーを示します。この場合、Varnishを使用しますが、コアDrupalキャッシュも同様のヘッダーを設定します。

cache miss http header

キャッシュヒット

標準のDrupalキャッシュヒットを示しています。

cache hit http header

13
David Thomas

キャッシュヘッダーをDrupal 6デフォルトキャッシュに追加する

悲しいことに、それはいくつかのコアハッキングを伴います。

ファイルincludes/bootstrap.inc行を変更

      // If there is a cached page, display it.
      if ($cache) {
        drupal_page_cache_header($cache);
        // If the skipping of the bootstrap hooks is not enforced, call hook_exit.
        if ($cache_mode != CACHE_AGGRESSIVE) {
          bootstrap_invoke_all('exit');
        }
        // We are done.
        exit;
      }
      // Prepare for non-cached page workflow.
      drupal_page_header();
      break;

      // If there is a cached page, display it.
      if ($cache) {
        header('X-Drupal-Cache: HIT');
        drupal_page_cache_header($cache);
        // If the skipping of the bootstrap hooks is not enforced, call hook_exit.
        if ($cache_mode != CACHE_AGGRESSIVE) {
          bootstrap_invoke_all('exit');
        }
        // We are done.
        exit;
      }
      // Prepare for non-cached page workflow.
      header('X-Drupal-Cache: MISS');
      drupal_page_header();
      break;

残りの指示は Davidの答え とまったく同じです。

0
user11153