żądania-zakresu-obszaru roboczego

Podczas wysyłania żądania można ustawić nagłówek range, który informuje serwer, że zwraca tylko część pełnego żądania. Jest to przydatne w przypadku niektórych plików, np. plików wideo, które użytkownik może zmienić, gdzie chce odtworzyć film.

Co robi ten moduł?

Może się zdarzyć, że zechcesz wyświetlić plik z pamięci podręcznej, gdy przeglądarka ustawi nagłówek range. Zwykle nagłówek jest ignorowany.

Ten moduł odczyta odpowiedź z pamięci podręcznej i zwróci określony zakres danych.

Podstawowe użycie

Możesz używać żądań zakresów Workbox, dodając wtyczkę do strategii, w odniesieniu do której chcesz sprawdzać żądania dotyczące zakresu.

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(),
    ],
  });
);
.

Zaawansowane użycie

Jeśli chcesz wykorzystać tę logikę poza wtyczką, możesz użyć funkcji createPartialResponse().

import {createPartialResponse} from 'workbox-range-requests';

createPartialResponse(request, cachedResponse);

Więcej informacji znajdziesz w dokumentacji.

Typy

RangeRequestsPlugin

Wtyczka żądania zakresu ułatwia realizację żądania z nagłówkiem „Range” za pomocą odpowiedzi zapisanej w pamięci podręcznej.

Odbywa się to przez przechwytywanie wywołania zwrotnego wtyczki cachedResponseWillBeUsed i zwracanie odpowiedniego podzbioru treści odpowiedzi zapisanej w pamięci podręcznej.

Właściwości

Metody

createPartialResponse()

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

Biorąc pod uwagę dane wejściowe obiekty Request i Response, zwróci to obietnicę dla nowego elementu Response.

Jeśli pierwotny element Response zawiera już część treści (czyli ma stan 206), przyjmuje się, że spełnia już wymagania Range: i zwraca go w niezmienionej postaci.

Parametry

  • Poproś

    Prośba

    Żądanie, które powinno zawierać nagłówek Range:.

  • originalResponse

    Odpowiedź

    Odpowiedź.

Akcje powrotne

  • Obietnica<Response>

    Odpowiedź 206 Partial Content z treścią odpowiedzi ustawioną na wycinek treści określony przez nagłówek Range: żądania lub odpowiedź 416 Range Not Satisfiable, jeśli nie mogą zostać spełnione warunki nagłówka Range:.