요청 시 서버에 전체 요청의 일부만 반환하도록 range
헤더를 설정할 수 있습니다. 이는 사용자가 동영상 재생 위치를 변경할 수 있는 동영상 파일과 같은 특정 파일에 유용합니다.
이 모듈은 어떤 역할을 하나요?
캐시된 파일을 제공하려고 하지만 브라우저에서 range
헤더를 설정한 경우가 있을 수 있습니다. 일반적으로 헤더는 무시됩니다.
이 모듈은 캐시된 응답을 읽고 지정된 데이터 범위를 반환합니다.
기본 사용법
범위 요청을 확인할 전략에 플러그인을 추가하여 작업 상자 범위 요청을 사용할 수 있습니다.
import {registerRoute} from 'workbox-routing';
import {CacheFirst} from 'workbox-strategies';
import {RangeRequestsPlugin} from 'workbox-range-requests';
registerRoute(
({url}) => url.pathname.endsWith('.mp4'),
new CacheFirst({
plugins: [
new RangeRequestsPlugin(),
],
});
);
를 참고하세요.
고급 사용법
플러그인 외부에서 이 로직을 사용하려면 createPartialResponse()
함수를 사용하면 됩니다.
import {createPartialResponse} from 'workbox-range-requests';
createPartialResponse(request, cachedResponse);
자세한 내용은 참조 문서를 확인하세요.
유형
RangeRequestsPlugin
범위 요청 플러그인을 사용하면 'Range' 헤더가 있는 요청을 캐시된 응답으로 쉽게 처리할 수 있습니다.
cachedResponseWillBeUsed
플러그인 콜백을 가로채고 캐시된 응답 본문의 적절한 하위 집합을 반환하여 이를 수행합니다.
속성
-
생성자
void
constructor
함수는 다음과 같습니다.() => {...}
-
returns
-
방법
createPartialResponse()
workbox-range-requests.createPartialResponse(
request: Request,
originalResponse: Response,
)
Request
및 Response
객체를 입력으로 제공하면 새 Response
의 프로미스가 반환됩니다.
원본 Response
에 일부 콘텐츠가 이미 포함되어 있는 경우 (즉, 상태가 206인 경우) 이는 이미 Range:
요구사항을 충족한다고 가정하고 그대로 반환합니다.
매개변수
-
요청
요청
Range: 헤더를 포함하는 요청.
-
originalResponse
응답
응답입니다.
반환 값
-
프로미스<응답>
응답 본문이 요청의
Range:
헤더에 지정된 콘텐츠 슬라이스로 설정된206 Partial Content
응답 또는Range:
헤더의 조건을 충족할 수 없는 경우416 Range Not Satisfiable
응답입니다.