çalışma kutusu-aralık-istekleri

İstekte bulunurken sunucuya tam isteğin yalnızca bir kısmını döndürmesini söyleyen bir range başlığı ayarlanabilir. Bu, kullanıcının videonun oynatılacağı yeri değiştirebileceği video dosyası gibi belirli dosyalar için yararlı olur.

Bu modül ne işe yarıyor?

Önbelleğe alınmış bir dosyayı sunmak istediğiniz, ancak tarayıcının bir range üst bilgisi ayarladığı senaryolar olabilir. Normalde başlık yoksayılır.

Bu modül önbelleğe alınan yanıtı okur ve belirtilen veri aralığını döndürür.

Temel Kullanım

Aralık isteklerini kontrol etmek istediğiniz stratejiye eklentiyi ekleyerek Workbox Aralık İstekleri'ni kullanabilirsiniz.

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

Gelişmiş Kullanım

Bu mantığı Eklenti dışında kullanmak istiyorsanız createPartialResponse() işlevini kullanabilirsiniz.

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

createPartialResponse(request, cachedResponse);

Daha fazla bilgi için referans belgelere göz atın.

Türler

RangeRequestsPlugin

Aralık isteği eklentisi, "Aralık" başlığına sahip isteklerin önbelleğe alınan bir yanıt tarafından yerine getirilmesini kolaylaştırır.

Bunu, cachedResponseWillBeUsed eklentisinin geri çağırmasını engelleyerek ve önbelleğe alınmış yanıt gövdesinin uygun alt kümesini döndürerek yapar.

Özellikler

  • oluşturucu

    void

    constructor işlevi şu şekilde görünür:

    () => {...}

Yöntemler

createPartialResponse()

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

Girdi olarak Request ve Response nesneleri verildiğinde yeni Response için bir vaat döndürülür.

Orijinal Response zaten kısmi içerik barındırıyorsa (ör. 206 durumuna sahipse) bu işlem, Range: gereksinimlerini zaten karşıladığını varsayar ve olduğu gibi döndürür.

Parametreler

  • istek

    İstek

    Range: üstbilgisi içermesi gereken bir istek.

  • originalResponse

    Yanıt

    Bir yanıt.

İlerlemeler

  • Söz<Yanıt>

    Yanıt gövdesi, isteğin Range: başlığı tarafından belirtilen içerik dilimi olarak ayarlanmış bir 206 Partial Content yanıtı veya Range: başlığının koşulları karşılanamıyorsa bir 416 Range Not Satisfiable yanıtı.