żądania-zakresu-obszaru roboczego

Podczas wysyłania żądania można ustawić nagłówek range, który informuje, serwer zwraca tylko część pełnego żądania. Jest to przydatne w przypadku niektórych plików, takich jak pliki wideo, w których przypadku użytkownik może zmienić miejsce odtwarzania filmu.

Do czego służy ten moduł?

W niektórych sytuacjach wyświetlanie pliku z pamięci podręcznej może Ci się przydać ale przeglądarka ustawiła nagłówek range. Zwykle nagłówek jest ignorowany.

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

Podstawowe zastosowanie

Aby używać żądań zakresu Workbox, dodaj wtyczkę do którą chcesz sprawdzić pod kątem żądań dotyczących 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

Jeśli chcesz używać tej logiki poza Wtyczką, może używać funkcji createPartialResponse().

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

createPartialResponse(request, cachedResponse);

Więcej informacji znajdziesz w dokumentacji referencyjnej.

Typy

RangeRequestsPlugin

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

Odbywa się to przez przechwytywanie wywołania zwrotnego wtyczki cachedResponseWillBeUsed i zwraca odpowiedni podzbiór treści odpowiedzi w pamięci podręcznej.

Właściwości

  • konstruktor

    nieważne

    Funkcja constructor wygląda tak:

    () => {...}

Metody

createPartialResponse()

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

Biorąc pod uwagę obiekty Request i Response jako dane wejściowe, funkcja ta zwróci obiecują nowe Response.

Jeśli oryginalny element Response zawiera już częściową treść (czyli ma stan 206), zakładamy, że spełnia on już wymagania dotyczące elementu Range: i zwróci go w postaci oryginalnej.

Parametry

  • żądanie

    Żądanie

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

  • originalResponse

    Odpowiedź

    Odpowiedź.

Zwroty

  • Obietnica<Response>

    Odpowiedź 206 Partial Content z treścią ustawioną na wycinek treści określony w nagłówku Range: lub odpowiedź 416 Range Not Satisfiable, jeśli warunki nagłówka Range: nie zostaną spełnione.