정적 개체의 만료

정적 객체(예: 아이콘)는 변경되지 않습니다. 따라서 시스템이 (적절한 기간 동안) 만료되지 않고 불필요한 트래픽을 줄이도록 구성되어야 합니다.

이는 다음과 같은 영향을 줍니다.

  • 서버 인프라의 요청을 오프로드합니다.
  • 브라우저가 브라우저 캐시의 오브젝트를 캐시하므로 페이지 로드 성능이 향상됩니다.

만료는 파일의 "만료"와 관련하여 HTTP 표준에 의해 지정됩니다(예: 의 14.21장 참조). RFC 2616 " 하이퍼텍스트 전송 프로토콜 — HTTP 1.1"). 이 표준에서는 헤더를 사용하여 클라이언트가 오래된 것으로 간주될 때까지 객체를 캐시할 수 있습니다. 이러한 객체는 원래 서버에 대한 상태 검사 없이 지정된 시간 동안 캐시됩니다.

노트

이 구성은 Dispatcher와 완전히 별도이며 Dispatcher에서는 작동하지 않습니다.

Dispatcher의 목적은 AEM 앞에 데이터를 캐시하는 것입니다.

동적이지 않고 시간이 지나도 변경되지 않는 모든 파일은 캐시할 수 있으며 캐시되어야 합니다. Apache HTTPD 서버에 대한 구성은 환경에 따라 다음 중 하나와 비슷할 수 있습니다.

주의

객체가 최신 상태로 간주되는 기간을 정의할 때는 주의해야 합니다. 있는 그대로 지정된 기간이 만료될 때까지 확인 안 함​를 사용하면 클라이언트가 캐시의 이전 콘텐츠를 표시할 수 있습니다.

  1. 작성자 인스턴스의 경우:

    LoadModule expires_module modules/mod_expires.so
    <Location /libs>
      ExpiresByType text/css "access plus 1 month"
      ExpiresByType text/javascript "access plus 1 month"
      ExpiresByType image/png "access plus 1 month"
      ExpiresByType image/gif "access plus 1 month"
    </Location>
    

    이렇게 하면 중간 캐시(예: 브라우저 캐시)가 만료될 때까지 최대 1개월 동안 CSS, Javascript, PNG 및 GIF 파일을 저장할 수 있습니다. 즉, AEM 또는 웹 서버에서 요청할 필요는 없지만 브라우저 캐시에 남아 있을 수 있습니다.

    사이트의 다른 섹션은 언제든지 변경될 수 있으므로 작성자 인스턴스에 캐시해서는 안 됩니다.

  2. 게시 인스턴스의 경우:

    LoadModule expires_module modules/mod_expires.so
    <Location /content>
      ExpiresByType text/css "access plus 1 day"
      ExpiresByType text/javascript "access plus 1 day"
      ExpiresByType image/png "access plus 1 day"
      ExpiresByType image/gif "access plus 1 day"
    </Location>
    <Location /etc/designs>
      ExpiresByType text/css "access plus 1 day"
      ExpiresByType text/javascript "access plus 1 day"
      ExpiresByType image/png "access plus 1 day"
      ExpiresByType image/gif "access plus 1 day"
    </Location>
    

    이렇게 하면 중간 캐시(예: 브라우저 캐시)가 최대 하루 동안 CSS, Javascript, PNG 및 GIF 파일을 클라이언트 캐시에 저장할 수 있습니다. 이 예는 아래의 모든 항목에 대한 전역 설정을 보여 줍니다 /content/etc/designs, 좀 더 세부적으로 만들어야 합니다.

    사이트 업데이트 빈도에 따라 HTML 페이지 캐싱을 고려할 수도 있습니다. 적절한 기간은 1시간입니다.

    <Location /content>
      ExpiresByType text/html "access plus 1 hour"
    </Location>
    

정적 개체를 구성한 후 request.log, 이러한 개체를 보유하는 페이지를 선택하여 정적 개체에 대해 (불필요한) 요청이 수행되지 않는지 확인합니다.

이 페이지에서는