وب باندل چیست و آیا تهدیدی برای سایت هستند؟

وب باندل

آن‌چه در این مقاله می‌خوانید:

در نوامبر سال 2019 گوگل مفهوم HTTP Bundles Exchanges یا به عبارت ساده‌تر وب باندل (Web Bundles) را معرفی کرد. در اولین نگاه این مفهوم ممکن است خیلی ساده به نظر برسد؛ شما می‌توانید به ­راحتی تمام محتویات وب‌سایت را باهم بسته‌بندی کرده و در هر زمانی از آن استفاده کنید. از این محتویات حتی می‌­توان به صورت آفلاین نیز استفاده کرد. درواقع، وب باندل راه‌حلی برای کاهش توجه به اینترنت است.

همان­‌گونه که بیان گردید، شما می‌توانید محتویات مختلف وب‌­سایت‌ را به­ صورت یک فایل بسته‌بندی کنید. سپس این فایل را می‌­توان از طریق بلوتوث یا هر ابزار دیگری به اشتراک گذاشت. حتی این محتویات می‌­تواند به­ صورت آفلاین نیز اجرا شود. قابلیت بسته‌­بندی کردن (bundle) وب‌­سایت به ­صورت کامل در یک فایل، مزایای دیگری را نیز به­ همراه دارد. دنیایی را تصور کنید که در آن بتوانید:

  1. محتوای خود را تولید کنید و بدون محدود شدن به شبکه و به روش‌­های گوناگون آن محتوا را بین دیگران توزیع کنید.
  2. یک اپلیکیشن یا بخشی از محتوای وب‌سایت را از طریق بلوتوث یا Wi-Fi Direct با دوستان خود به اشتراک بگذارید.
  3. می‌توانید وب‌سایت خود را بر روی یک حافظه­ و از طریق USBانتقال دهید؛ یا حتی وب‌سایت خود را در شبکه محلی میزبانی کنید.

با استفاده از Web Bundles API می‌توانید همه‌ی کارهای بالا را انجام دهید.

سازگاری وب باندل با انواع مرورگرها

Web Bundles API در حال حاضر تنها توسط مرورگر Chromium و به عنوان نسخه‌ی آزمایشی پشتیبانی می‌شود.

معرفی Web Bundles API

سازگاری وب باندل و مرورگرها

وب باندل یک فرمت فایل برای بسته­‌بندی تعدادی از منابع HTTP درون یک فایل تکی می‌­باشد. این فایل می‌تواند شامل انواع متفاوتی از فایل­‌ها باشد. فایل­‌های HTML، جاوااسکریپت، تصاویر، CSS و دیگر منابع موجود در وب می‌­توانند درون این فایل قرار بگیرند.

 وب باندل‌ها که به طور رسمی با نام HTTP Bundles Exchanges شناخته می‌شوند، بخشی از  پروپوزال Web Packaging هستند.

منابع HTTP در یک وب باندل توسط URLهای درخواستی اندیس­گذاری می‌شوند. این منابع می‌­توانند به­ صورت اختیاری همراه با امضاهایی (signatures) باشند که صحت آن منابع را تایید می‌کنند. این گزینه به­ صورت اختیاری می­‌باشد. امضاها به مرورگرها اجازه می‌­دهند که بتوانند بفهمند هر منبع از کجا آمده است. هم­‌چنین می‌­توانند آن منبع را صحت‌­سنجی کرده و مانند منبع حقیقی با آن رفتار کنند. این روش مشابه با روشی است که تبادل HTTP امضا شده (Signed HTTP Exchanges) عمل می­‌کند.

توضیح وب باندل

به طور دقیق، وب باندل یک فایل CBOR با پسوند wbn. است که منابع HTTP را در قالب باینری بسته‌بندی می‌کند. این باندل‌­ها با نوع  MIME application/webbundle سرویس می‌دهند.

وب باندل‌ها دارای ویژگی‌های منحصربه‌فردی هستند:

  1. چندین صفحه را تجمیع می‌کنند و یک وب‌سایت کامل را در یک فایل واحد جمع می‌کنند.
  2. برخلاف MHTML، جاوااسکریپت قابل اجرا را فعال‌سازی می‌کنند.
  3. برای مذاکره محتوا، از انواع HTTP استفاده می‌کنند. این ویژگی حتی در صورتی که باندل به­ صورت آفلاین نیز استفاده شود، باعث بین‌­المللی شدن می­‌شود. البته می­‌بایست سرآیند Accept-Language را تنظیم کند.
  4. هنگامی که به صورت رمزنگاری شده توسط ناشر آن امضا شود، در مبدأ بارگیری می‌شود.
  5. در حالت محلی، تقریباً فوری بارگیری می‌­شود.

کاربرد وب باندل

این ویژگی‌ها باعث ایجاد چندین سناریو می‌­شوند. یکی از سناریوهای رایج، توانایی ساخت یک برنامه وب مستقل است که به راحتی به اشتراک گذاشته می‌شود و بدون اتصال به اینترنت قابل استفاده است. فرض کنید که با دوست خود در حال سفر با هواپیما از توکیو به سانفرانسیسکو هستید. شما سرگرمی‌های داخل هواپیما را دوست ندارید. دوست شما در حال انجام یک بازی جالب است و به شما می‌گوید که قبل از سوار شدن به هواپیما، بازی را به صورت وب‌باندل دانلود کرده است و در حال حاضر به صورت آفلاین و بدون نقص کار می‌کند. قبل از ایجاد مفهوم وب‌باندل، شما یا باید این بازی را به نوبت بر روی دستگاه دوست خود بازی می‌کردید یا فعالیت دیگری را برای گذراندن زمان انتخاب می‌کردید. اما با استفاده از وب‌باندل می‌توانید کارهای زیر را انجام دهید.

  • از دوست خود بخواهید فایل wbn. بازی را به اشتراک بگذارد. به عنوان مثال، فایل را می‌توان به راحتی با استفاده از یک برنامه اشتراک‌گذاری فایل، به صورت نظیر به نظیر به اشتراک گذاشت.
  • فایل wbn. را در مرورگری که از وب باندل پشتیبانی می‌کند باز کنید.
  • در دستگاه خودتان شروع به بازی کنید و سعی کنید با امتیاز بالا دوست خود را شکست دهید.

در حال حاضر Chrome 80 فقط از بسته‌های بدون امضا (یعنی وب باندل‌های بدون امضای اصلی)  پشتیبانی می‌کند. Bundling PROXX به دلیل مسائل مربوط به cross-origin بدون امضا به خوبی کار نمی‌کند و کروم در حال کار بر روی رفع این مشکل است.

آیا وب باندل، تهدیدی برای وب‌سایت هستند؟

وب باندل و وب سایت ها

اگر بخواهیم منصفانه در این باره صحبت کنیم، باید بگوییم که در حال حاضر وب باندل تهدیدی برای وب‌سایت‌ها نیست. وب باندل هنوز در مراحل اولیه توسعه است؛ البته ممکن است در آینده مشکلات آن برطرف شود؛ اما در حال حاضر محدودیت‌هایی برای وب باندل وجود دارد؛ برای هر چیزی که نیاز به استفاده از سرور دارد نمی‌توان از وب باندل استفاده کرد.

مشکل دیگری که در حال حاضر برای پذیرش وب باندل به­ صورت گسترده وجود دارد، اندازه بسته‌هاست. از آن‌جایی که در وب‌باندل تمام منابع لازم در یک بسته جمع‌آوری می‌شود، حجم آن بسیار بالا می‌رود. شما باید بتوانید انتخاب کنید که قصد دانلود کدام بسته را دارید. اگر کش (caching) بسته‌ها به صورت خودکار انجام شود، فضای خالی دستگاه کاربر به سرعت به اتمام می‌رسد.

استفاده از وب‌باندل، می‌تواند دسترسی به محتوا را در مناطقی با اتصال اینترنت ضعیف، افزایش دهد و در هزینه‌های اینترنت صرفه‌جویی کند. طبق گفته کارمندان گوگل آن‌چه برای کاربران اهمیت دارد این نکته است که فایل‌های موجود در وب‌باندل به صورت جداگانه ذخیره می‌شوند. باید منتظر بمانیم که گوگل چه برنامه‌های جدیدی برای توسعه‌ی وب باندل در نظر دارد و چه زمانی پیاده‌سازی دقیق‌تری را روی وب باندل انجام می‌دهد.

سوالات متداول:

وب باندل چیست؟

وب‌باندل یک فایل CBOR با پسوند .wbn است که منابع HTTP را در قالب باینری بسته‌بندی می‌کند.

وب باندل توسط چه مرورگرهایی پشتیبانی می‌شود؟

در حال حاضر وب‌باندل فقط توسط مرورگر Chromium و به صورت آزمایشی پشتیبانی می‌شود.

بزرگ‌ترین مزیت وب‌باندل چیست؟

بزرگ‌ترین مزیت وب‌باندل توانایی ساخت یک برنامه وب مستقل است که به راحتی به اشتراک گذاشته می‌شود و بدون اتصال به اینترنت قابل استفاده است.

آیا وب باندل، تهدیدی برای وب‌سایت هستند؟

با توجه به این‌که وب‌باندل هنوز در مراحل اولیه توسعه است و محدودیت‌هایی نیز دارد، نمی‌توان آن را تهدیدی برای وب‌سایت‌ها به شمار آورد.


منابع:

مقالات مرتبط