0
정책 토큰을 URL 매개 변수로 사용하는 보안 CDN에서 자산을 캐시하고 싶습니다. 예 : www.cdn.com/image.png?Policy=AAAAA&Key-Pair-Id=BBBBB
사이트를 다시 방문하면 다른 정책 토큰 및 키 쌍이 ID가 있어도 캐시에서 자산을 가져 오려고합니다. 예를 들어 :workbox 3 - 런타임 캐싱에서 URL 매개 변수 무시
나는 서비스 작업자에이 코드를 사용하는 경우 www.cdn.com/image.png?Policy=CCCCC&Key-Pair-Id=DDDDD
가 :
workbox.routing.registerRoute(
/^(http(s)?:)?\/\/www\.cdn\.com.*/,
workbox.strategies.staleWhileRevalidate()
);
그것은 캐시에 응답을 발견하고 네트워크로 이동하지 않습니다. URL Params없이 URL로 일치 시키길 원합니다 (Policy = CCCCC & Key-Pair-Id = DDDDD가 실제로 유효한 정책이 아닐지라도). www.cdn.com/image.png
이 있는지 살펴보고 검색하십시오.
workbox.routing.registerRoute(
/^(http(s)?:)?\/\/www\.cdn\.com.*/,
({url, event}) => {
return caches.open(`${prefix}-${runtime}-${suffix}`).then((cache) => {
const customRequest = `${url.origin}${url.pathname}`;
return cache.match(customRequest).then((cacheRes) => {
if (cacheRes) {
return cacheRes;
}
return fetch(event.request).then((fetchRes) => {
cache.put(customRequest, fetchRes.clone());
return fetchRes;
});
});
});
}
);
: