정적 개체 만료 expiration-of-static-objects
정적 개체(예: 아이콘)는 변경되지 않습니다. 따라서 시스템이 적절한 시간 동안 만료되지 않고 불필요한 트래픽을 줄이도록 구성해야 합니다.
이 기능은 다음과 같은 영향을 줍니다.
- 서버 인프라의 요청을 오프로드합니다.
- 브라우저가 브라우저 캐시에서 개체를 캐시할 때 페이지 로드 성능을 향상시킵니다.
만료는 HTTP 표준에서 파일의 "만료"에 대해 지정합니다(예: RFC 2616 " 하이퍼텍스트 전송 프로토콜 — HTTP 1.1"). 이 표준은 헤더를 사용하여 클라이언트가 오래된 것으로 간주될 때까지 개체를 캐시할 수 있습니다. 이러한 객체는 원래 서버에 상태 검사를 수행하지 않고 지정된 시간 동안 캐시됩니다.
동적 파일이 아니며 시간이 지남에 따라 변경되지 않는 모든 파일은 캐싱될 수 있으며 캐시되어야 합니다. Apache HTTPD 서버의 구성은 환경에 따라 다음 중 하나로 표시될 수 있습니다.
-
작성자 인스턴스의 경우:
code language-xml 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 또는 웹 서버에서 요청할 필요가 없지만 브라우저 캐시에 남아 있을 수 있습니다.
언제든지 변경될 수 있으므로 사이트의 다른 섹션은 작성자 인스턴스에 캐시되지 않아야 합니다.
-
게시 인스턴스의 경우:
code language-xml 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시간입니다.
code language-xml <Location /content> ExpiresByType text/html "access plus 1 hour" </Location>
정적 개체를 구성한 후 request.log
를 채울 때 이러한 개체를 포함하는 페이지를 선택하는 동안 정적 개체에 대해 요청이 수행되지 않는지 확인합니다.