캐싱에 페이지 규칙 사용
페이지 규칙은 페이지의 URL을 기반으로 다양한 조치를 취할 수 있는 기능을 제공합니다(예: 경로 재지정 작성, 캐싱 작동 미세 튜닝 또는 서비스 사용 및 사용 안함).
페이지 규칙은 다음 형식과 일치하는 ‘ URL ’ 패턴에 적용됩니다:
<scheme>://<hostname><:port>/<path>
예를 들면 다음과 같습니다.
https://www.example.com:80/image.png
scheme 및 port 컴포넌트는 선택사항입니다. scheme 컴포넌트가 생략되면 형식에서 http:// 및 https:// 프로토콜을 채택합니다. port가 지정되지 않으면 규칙이 모든 포트와 일치됩니다. 일련의 유사한 패턴의 일치를 허용하기 위해 규칙 패턴에서 * 기호를
사용하여 기본 와일드카드 일치를 수행할 수 있습니다.
페이지 규칙 고려사항
- 모든 요청에 대해 ‘한 페이지만’ 규칙이 적용됩니다.
- 페이지 규칙은 위에서 아래로 순서대로 우선순위가 적용됩니다. URL 가 특정 규칙에 일치하면, 해당 규칙만 적용됩니다. 다시 말해, 특정 요청에서 페이지 규칙이 이미 트리거된 경우, 이후의 규칙 중 ‘ URL ’ 패턴과 일치하는 규칙은 적용되지 않습니다.
- 일반적으로 가장 구체적인 규칙부터 가장 덜 구체적인 규칙 순으로 정렬합니다.
- 페이지 규칙을 사용 안함으로 설정할 수 있으며 이 경우에는 어떠한 조치도 실행되지 않습니다. 그러나 목록에서 규칙을 확인하고 편집할 수는 있습니다. 사용 토글을 끄기로 설정하면 처음에 사용 안함으로 설정된 페이지 규칙이 작성됩니다.
전달(URL 경로 재지정)
HTTP 301 또는 302 경로 재지정을 사용하여 하나의 URL을 다른 URL로 경로 재지정합니다. 와일드카드가 일치하는 URL 섹션의 컨텐츠는 $X 구문을 사용하여 참조될 수 있습니다. X는 패턴에서 방울의 인덱스를 표시합니다. $1은 첫 번째 와일드카드 일치로 대체되며, $2는 두 번째 와일드카드 일치로 대체됩니다. 나머지도 마찬가지입니다.
예를 들어, 다음과 같은 규칙을 설정했다고 가정해 봅시다. 여기서:
- URL match =
*.example.com/* - 사용 가능 = On
- 설정 = 전달 URL
- = 301로 설정하십시오. 영구 경로 재지정을
http://example.com/$2/로 설정하십시오.
여기서 www.example.com/stuff/things에 대한 요청은 http://example.com/stuff/things로 경로 재지정됩니다.
도메인이 스스로를 대상으로 가리키는 경로 재지정을 작성하지 않도록 주의하십시오. 이러한 실수로 인해 무한 경로 재지정 오류가 발생할 수 있으며 영향을 받는 URL이 분석되지 못할 수 있습니다.
HTTPS로 경로 재지정
방문자가 HTTPS 을 사용하도록 리디렉션하려면, 규칙 동작을 ‘항상 HTTPS 사용’ 설정으로 변경하십시오.
사용자 정의 캐싱 설정
페이지 규칙 패턴과 일치하는 모든 URL 에 대해 표준 캐시 수준 중 하나를 사용하여 캐싱 동작을 설정합니다. 캐시 수준을 ‘모든 항목 캐시 ’로 설정하면, 기본 정적 파일 유형에 속하지 않는 콘텐츠라도 모두 캐시됩니다. 캐시 레벨을 무시 설정으로 설정하면 해당 URL에서 캐싱이 발생하지
않습니다.
페이지 규칙을 사용하여 캐시 수준을 지정할 때, Edge 캐시 TTL을 설정할 수 있으며, 이는 CIS 이 파일을 캐시에 보관하는 기간을 제어합니다.
브라우저 캐시 TTL은 클라이언트 브라우저에 캐시된 리소스가 유효한 상태를 유지하는 기간을 제어합니다. 브라우저가 리소스를 다시 요청했을 때 TTL이 만료되지 않은 경우, 브라우저는 ‘ HTTP 304 (Not Modified) ’ 응답을 받게 됩니다. TTL 범위를 30분에서 1년까지 설정할 수 있습니다.
모든 기본 캐싱 작동이 엄격하게 RFC를 준수하지는 않습니다. 페이지 규칙을 통해 Origin 캐시 제어를 설정하는 방식은, 특히 재검증과 관련하여 RFC를 보다 엄격하게 준수하도록 설계된 최신 캐싱 규칙 세트를 사용합니다. 예를 들어, max-age=0의 기본 작동은 전혀 캐시를 수행하지 않지만 오리진 캐시 제어 설정은 캐시를 수행하되 항상 재인증합니다.
다음 예제는 /images 폴더에서 찾은 모든 항목을 캐시하도록 페이지 규칙을 설정합니다. 캐시된 리소스는 사용자의 브라우저에서는 30분 후에 만료되며, IBM CIS 데이터 센터에서는 1일 후에 만료됩니다.
- URL match =
*.example.com/images/* - 사용 가능 = On
- 규칙 동작 설정:
| 설정 | 다음으로 설정 |
|---|---|
| 캐시 레벨 | 모두 캐시 |
| 브라우저 캐시 TTL | 30분 |
| 에지 캐시 TTL | 1일 |
시간이 경과된(stale) 컨텐츠 제공에서는 서버가 작동 중지된 경우에도 캐시에서 페이지를 제공합니다. 방문자는 오프라인 찾아보기 모드에 있다는 메시지와 함께 제한된 버전의 사이트를 보게 됩니다.
이 기능은 HTTP 상태 503을 리턴합니다. 서버가 다시 온라인 상태가 되면 CIS는 방문자를 일반 브라우징으로 매끄럽게 안내합니다.
캐시에 요청된 페이지가 없는 경우, 방문자는 요청 중인 페이지가 오프라인 상태임을 알려주는 오류 페이지를 보게 됩니다. 만기가 캐싱 빈도보다 적게 설정된 상태에서 모두 캐시 페이지 규칙이 사용되면 시간이 경과된(stale) 컨텐츠 제공이 해당 간격으로 제거됩니다.