현재 페이지에서 캐시가 작동하는지 확인하는 방법은 무엇입니까?


9

일부 모듈은 특정 페이지에서 캐싱을 자동으로 해제합니다. 이것이 사실인지 확인하고 문제가있는 모듈을 식별하는 가장 쉬운 방법은 무엇입니까?


Boost cache를 사용하면 페이지 하단에 html 주석이 있습니다. 다른 캐시와 함께라면 좀 더 흥미 롭습니다.
Mołot

@ Mołot 나는 주로 표준 Drupal 캐시에 관심이 있지만 다른 캐시에 대한 지침도 감사합니다.
user11153

답변:


13

가장 쉬운 방법은 아마도 HTTP 응답 헤더를 검사하는 것입니다.

예를 들어 브라우저의 DOM 검사기 도구 (예 : Chrome의 '네트워크'탭 )

캐시 미스

다음은 캐시 미스를 보여주는 drupal.org의 샘플 응답 헤더입니다. 이 경우 Varnish를 사용하지만 핵심 Drupal 캐시도 비슷한 헤더를 설정합니다.

캐시 미스 http 헤더

캐시 적중

다음은 표준 Drupal 캐시 적중을 보여주는 것입니다.

캐시 적중 http 헤더


그러나 Drupal.org는 바니시 뒤에 있습니다. Drupal에서 X-Cache 헤더가 직접 액세스되는 것을 볼 수 없습니다. 또는 테스트하는 페이지가 캐시 가능한 경우?
Mołot

@ Mołot 로그 아웃하면 Varnish 헤더를 볼 수 있습니다.
Letharion

Drupal 7 사이트의 경우 실제로 헤더가 표시 X-Drupal-Cache: HIT되지만 Drupal 6 사이트에서는 아무것도 표시되지 않습니다. 리버스 프록시로 제거 할 수 있습니까?
user11153

@ user11153 예, D6은 X-Drupal-Cache HTTP 헤더를 설정하지 않은 것으로 보입니다. 그러나 D7은 그렇게합니다_drupal_bootstrap_page_cache
David Thomas

@DavidThomas Drupal 6에서 캐시 상태를 확인하는 것은 무엇입니까? 대안이 있습니까? 그리고 D7에게 지시 해 주셔서 감사합니다.
user11153

0

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의 대답 과 정확히 같습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.