workbox-range-درخواستها

هنگام درخواست، می توان یک هدر range تنظیم کرد که به سرور می گوید فقط بخشی از درخواست کامل را برگرداند. این برای فایل‌های خاصی مانند یک فایل ویدیویی مفید است، جایی که کاربر ممکن است مکان پخش ویدیو را تغییر دهد.

این ماژول چه کاری انجام می دهد؟

ممکن است سناریوهایی وجود داشته باشد که بخواهید یک فایل کش را ارائه دهید، اما مرورگر یک هدر range تنظیم کرده است. به طور معمول هدر نادیده گرفته می شود.

این ماژول پاسخ ذخیره شده را می خواند و محدوده مشخص شده از داده ها را برمی گرداند.

استفاده پایه

می‌توانید با افزودن افزونه به استراتژی موردنظر برای بررسی درخواست‌های محدوده از Workbox Range Requests استفاده کنید.

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

استفاده پیشرفته

اگر می خواهید از این منطق خارج از افزونه استفاده کنید، می توانید از تابع createPartialResponse() استفاده کنید.

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

createPartialResponse(request, cachedResponse);

برای اطلاعات بیشتر به اسناد مرجع مراجعه کنید .

انواع

RangeRequestsPlugin

افزونه درخواست محدوده، درخواستی با سرصفحه «محدوده» را آسان می کند تا با یک پاسخ ذخیره شده در حافظه پنهان انجام شود.

این کار را با قطع تماس پلاگین cachedResponseWillBeUsed و برگرداندن زیرمجموعه مناسب بدنه پاسخ ذخیره شده انجام می دهد.

خواص

  • سازنده

    خالی

    تابع constructor به نظر می رسد:

    ()=> {...}

مواد و روش ها

createPartialResponse()

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

با توجه به اشیاء Request و Response به عنوان ورودی، این یک وعده برای یک Response جدید برمی گرداند.

اگر Response اصلی قبلاً حاوی محتوای جزئی باشد (یعنی وضعیت 206 را داشته باشد)، پس فرض می‌کند که از قبل شرایط Range: را برآورده می‌کند و آن را همانطور که هست برمی‌گرداند.

مولفه های

  • درخواست

    درخواست

    یک درخواست، که باید حاوی سرآیند Range: باشد.

  • پاسخ اصلی

    واکنش

    یک جواب.

برمی گرداند

  • قول<پاسخ>

    یا یک پاسخ 206 Partial Content ، با بدنه پاسخ به قسمتی از محتوای مشخص شده توسط Range: هدر درخواست، یا یک پاسخ 416 Range Not Satisfiable اگر شرایط هدر Range: برآورده نشود.