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: برآورده نشود.