آنچه در این مقاله میخوانید:
- سازگاری وب باندل با انواع مرورگرها
- معرفی Web Bundles API
- توضیح وب باندل
- آیا وب باندل، تهدیدی برای وبسایت هستند؟
در نوامبر سال 2019 گوگل مفهوم HTTP Bundles Exchanges یا به عبارت سادهتر وب باندل (Web Bundles) را معرفی کرد. در اولین نگاه این مفهوم ممکن است خیلی ساده به نظر برسد؛ شما میتوانید به راحتی تمام محتویات وبسایت را باهم بستهبندی کرده و در هر زمانی از آن استفاده کنید. از این محتویات حتی میتوان به صورت آفلاین نیز استفاده کرد. درواقع، وب باندل راهحلی برای کاهش توجه به اینترنت است.
همانگونه که بیان گردید، شما میتوانید محتویات مختلف وبسایت را به صورت یک فایل بستهبندی کنید. سپس این فایل را میتوان از طریق بلوتوث یا هر ابزار دیگری به اشتراک گذاشت. حتی این محتویات میتواند به صورت آفلاین نیز اجرا شود. قابلیت بستهبندی کردن (bundle) وبسایت به صورت کامل در یک فایل، مزایای دیگری را نیز به همراه دارد. دنیایی را تصور کنید که در آن بتوانید:
- محتوای خود را تولید کنید و بدون محدود شدن به شبکه و به روشهای گوناگون آن محتوا را بین دیگران توزیع کنید.
- یک اپلیکیشن یا بخشی از محتوای وبسایت را از طریق بلوتوث یا Wi-Fi Direct با دوستان خود به اشتراک بگذارید.
- میتوانید وبسایت خود را بر روی یک حافظه و از طریق 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 سرویس میدهند.
وب باندلها دارای ویژگیهای منحصربهفردی هستند:
- چندین صفحه را تجمیع میکنند و یک وبسایت کامل را در یک فایل واحد جمع میکنند.
- برخلاف MHTML، جاوااسکریپت قابل اجرا را فعالسازی میکنند.
- برای مذاکره محتوا، از انواع HTTP استفاده میکنند. این ویژگی حتی در صورتی که باندل به صورت آفلاین نیز استفاده شود، باعث بینالمللی شدن میشود. البته میبایست سرآیند Accept-Language را تنظیم کند.
- هنگامی که به صورت رمزنگاری شده توسط ناشر آن امضا شود، در مبدأ بارگیری میشود.
- در حالت محلی، تقریباً فوری بارگیری میشود.
کاربرد وب باندل
این ویژگیها باعث ایجاد چندین سناریو میشوند. یکی از سناریوهای رایج، توانایی ساخت یک برنامه وب مستقل است که به راحتی به اشتراک گذاشته میشود و بدون اتصال به اینترنت قابل استفاده است. فرض کنید که با دوست خود در حال سفر با هواپیما از توکیو به سانفرانسیسکو هستید. شما سرگرمیهای داخل هواپیما را دوست ندارید. دوست شما در حال انجام یک بازی جالب است و به شما میگوید که قبل از سوار شدن به هواپیما، بازی را به صورت وبباندل دانلود کرده است و در حال حاضر به صورت آفلاین و بدون نقص کار میکند. قبل از ایجاد مفهوم وبباندل، شما یا باید این بازی را به نوبت بر روی دستگاه دوست خود بازی میکردید یا فعالیت دیگری را برای گذراندن زمان انتخاب میکردید. اما با استفاده از وبباندل میتوانید کارهای زیر را انجام دهید.
- از دوست خود بخواهید فایل wbn. بازی را به اشتراک بگذارد. به عنوان مثال، فایل را میتوان به راحتی با استفاده از یک برنامه اشتراکگذاری فایل، به صورت نظیر به نظیر به اشتراک گذاشت.
- فایل wbn. را در مرورگری که از وب باندل پشتیبانی میکند باز کنید.
- در دستگاه خودتان شروع به بازی کنید و سعی کنید با امتیاز بالا دوست خود را شکست دهید.
در حال حاضر Chrome 80 فقط از بستههای بدون امضا (یعنی وب باندلهای بدون امضای اصلی) پشتیبانی میکند. Bundling PROXX به دلیل مسائل مربوط به cross-origin بدون امضا به خوبی کار نمیکند و کروم در حال کار بر روی رفع این مشکل است.
آیا وب باندل، تهدیدی برای وبسایت هستند؟
اگر بخواهیم منصفانه در این باره صحبت کنیم، باید بگوییم که در حال حاضر وب باندل تهدیدی برای وبسایتها نیست. وب باندل هنوز در مراحل اولیه توسعه است؛ البته ممکن است در آینده مشکلات آن برطرف شود؛ اما در حال حاضر محدودیتهایی برای وب باندل وجود دارد؛ برای هر چیزی که نیاز به استفاده از سرور دارد نمیتوان از وب باندل استفاده کرد.
مشکل دیگری که در حال حاضر برای پذیرش وب باندل به صورت گسترده وجود دارد، اندازه بستههاست. از آنجایی که در وبباندل تمام منابع لازم در یک بسته جمعآوری میشود، حجم آن بسیار بالا میرود. شما باید بتوانید انتخاب کنید که قصد دانلود کدام بسته را دارید. اگر کش (caching) بستهها به صورت خودکار انجام شود، فضای خالی دستگاه کاربر به سرعت به اتمام میرسد.
استفاده از وبباندل، میتواند دسترسی به محتوا را در مناطقی با اتصال اینترنت ضعیف، افزایش دهد و در هزینههای اینترنت صرفهجویی کند. طبق گفته کارمندان گوگل آنچه برای کاربران اهمیت دارد این نکته است که فایلهای موجود در وبباندل به صورت جداگانه ذخیره میشوند. باید منتظر بمانیم که گوگل چه برنامههای جدیدی برای توسعهی وب باندل در نظر دارد و چه زمانی پیادهسازی دقیقتری را روی وب باندل انجام میدهد.
سوالات متداول:
وب باندل چیست؟
وبباندل یک فایل CBOR با پسوند .wbn است که منابع HTTP را در قالب باینری بستهبندی میکند.
وب باندل توسط چه مرورگرهایی پشتیبانی میشود؟
در حال حاضر وبباندل فقط توسط مرورگر Chromium و به صورت آزمایشی پشتیبانی میشود.
بزرگترین مزیت وبباندل چیست؟
بزرگترین مزیت وبباندل توانایی ساخت یک برنامه وب مستقل است که به راحتی به اشتراک گذاشته میشود و بدون اتصال به اینترنت قابل استفاده است.
آیا وب باندل، تهدیدی برای وبسایت هستند؟
با توجه به اینکه وبباندل هنوز در مراحل اولیه توسعه است و محدودیتهایی نیز دارد، نمیتوان آن را تهدیدی برای وبسایتها به شمار آورد.