요청할 때 range
헤더를 설정하여
서버가 전체 요청의 일부만 반환하도록 할 수 있습니다. 이
사용자가 동영상 파일과 같은 특정 파일에
동영상 재생 위치가 변경될 수 있습니다.
이 모듈은 무엇을 하나요?
캐시된 파일을 게재하려고 하는데 브라우저에서 range
헤더를 설정한 시나리오가 있을 수 있습니다. 일반적으로 헤더는 무시됩니다.
이 모듈은 캐시된 응답을 읽고 지정된 데이터 범위를 반환합니다.
기본 사용법
범위 요청을 확인하려는 전략에 플러그인을 추가하여 Workbox 범위 요청을 사용할 수 있습니다.
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
범위 요청 플러그인을 사용하면 '범위' 헤더를 처리되지 않을 수 있습니다
cachedResponseWillBeUsed
플러그인 콜백을 가로채고 캐시된 응답 본문의 적절한 하위 집합을 반환하여 이를 실행합니다.
속성
-
생성자
void
constructor
함수는 다음과 같습니다.() => {...}
-
returns
-
메서드
createPartialResponse()
workbox-range-requests.createPartialResponse(
request: Request,
originalResponse: Response,
)
Request
및 Response
객체를 입력으로 받으면 새 Response
의 약속을 반환합니다.
원래 Response
에 이미 부분 콘텐츠가 포함되어 있는 경우(즉, 상태가 206인 경우) Range:
요구사항을 이미 충족한다고 가정하고 있는 것이므로 있는 그대로 반환됩니다.
매개변수
-
요청
요청
Range: 헤더가 포함되어야 하는 요청입니다.
-
originalResponse
응답
응답
반환 값
-
프라미스<Response>
206 Partial Content
응답 요청의Range:
헤더 또는416 Range Not Satisfiable
응답(Range:
헤더의 조건을 충족할 수 없습니다.