작업 상자 범위 요청

요청할 때 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 함수는 다음과 같습니다.

    () => {...}

메서드

createPartialResponse()

workbox-range-requests.createPartialResponse(
  request: Request,
  originalResponse: Response,
)

RequestResponse 객체를 입력으로 받으면 새 Response의 약속을 반환합니다.

원래 Response에 이미 부분 콘텐츠가 포함되어 있는 경우(즉, 상태가 206인 경우) Range: 요구사항을 이미 충족한다고 가정하고 있는 것이므로 있는 그대로 반환됩니다.

매개변수

  • 요청

    요청

    Range: 헤더가 포함되어야 하는 요청입니다.

  • originalResponse

    응답

    응답

반환 값

  • 프라미스<Response>

    206 Partial Content 응답 요청의 Range: 헤더 또는 416 Range Not Satisfiable 응답( Range: 헤더의 조건을 충족할 수 없습니다.