solicitudes de rango de trabajo

Cuando se realiza una solicitud, se puede configurar un encabezado range que le indique al servidor que muestre solo una parte de la solicitud completa. Esto es útil para ciertos archivos, como uno de video, en los que el usuario puede cambiar la ubicación en la que se reproduce el video.

¿Qué hace este módulo?

Puede haber situaciones en las que quieras entregar un archivo almacenado en caché, pero el navegador configuró un encabezado range. Por lo general, se ignorará el encabezado.

Este módulo leerá la respuesta almacenada en caché y mostrará el rango de datos especificado.

Uso básico

Para usar las solicitudes de rango del cuadro de trabajo, agrega el complemento a la estrategia con la que deseas comprobar las solicitudes de rango.

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

Uso avanzado

Si quieres usar esta lógica fuera del complemento, puedes usar la función createPartialResponse().

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

createPartialResponse(request, cachedResponse);

Para obtener más información, consulta los documentos de referencia.

Tipos

RangeRequestsPlugin

El complemento de solicitud de rango facilita la entrega de una solicitud con un encabezado "Range" a través de una respuesta almacenada en caché.

Para ello, intercepta la devolución de llamada del complemento cachedResponseWillBeUsed y muestra el subconjunto apropiado del cuerpo de la respuesta almacenada en caché.

Propiedades

  • constructor

    void

    La función constructor se ve de la siguiente manera:

    () => {...}

Métodos

createPartialResponse()

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

Si se dan objetos Request y Response como entrada, se mostrará una promesa para una Response nueva.

Si la Response original ya tiene contenido parcial (es decir, tiene un estado de 206), se da por sentado que ya cumple los requisitos de Range: y se mostrará tal como está.

Parámetros

  • request

    Solicitud

    Una solicitud, que debe contener un encabezado Range:.

  • originalResponse

    Respuesta

    Una respuesta.

Devuelve

  • Promesa<Respuesta>

    Una respuesta 206 Partial Content, con el cuerpo de la respuesta configurado como la porción de contenido especificada por el encabezado Range: de la solicitud, o una respuesta 416 Range Not Satisfiable si no se pueden cumplir las condiciones del encabezado Range:.