İ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:() => {...}
-
returns
-
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ış bir206 Partial Content
yanıtı veyaRange:
başlığının koşulları karşılanamıyorsa bir416 Range Not Satisfiable
yanıtı.