برنامه نویسی

بروتلی: عصر جدید فشرده سازی داده ها

در جستجوی زمان بارگذاری سریع وب، ما تعدادی فناوری مختلف برای کمک به ما داریم. یک روش این است که کد زیربنایی که سایت شما از آن استفاده می کند را بدون تأثیر بر عملکرد آن به حداقل برسانید. فشرده‌سازی GZIP یکی از راه‌های انجام این کار است، اما فشرده‌سازی Brotli یک روش جدید جایگزین است که توجه را جلب می‌کند.

این یک راه حل توسعه یافته توسط گوگل است که به نظر می رسد چندین مزیت را بیش از فشرده سازی GZIP (و همچنین جایگزینی برای) ارائه دهد.

برای این آموزش، ما قصد داریم فشرده سازی Brotli را بررسی کنیم و به شما نشان دهیم که چگونه بررسی کنید که آیا سایت شما از آن استفاده می کند یا خیر و در صورت نیاز چگونه آن را فعال کنید.

فشرده سازی Brotli در مقابل فشرده سازی GZIP

همانطور که گفته شد، Brotli و GZIP هر دو از آن استفاده می کنند DEFLATE روش فشرده سازی (و فشرده سازی) داده ها این می‌تواند بسیاری از افراد را گیج کند، زیرا این به تنهایی نیاز به تعویض ندارد.

با این حال، گوگل در حال ساخت در بالای آن است DEFLATE برای ارائه تکنیک های پیشرفته و فشرده سازی داده ها به استانداردی بیشتر و سریعتر.

چگونه Brotli از دیکشنری ها برای بهبود فشرده سازی داده ها استفاده می کند

یکی از جنبه‌های فنی فرمت‌های فشرده‌سازی داده، روشی است که فشرده‌سازی Brotli از زبان و متن شناخته شده موجود در فرهنگ‌های داده برای استفاده از الگوریتم خود استفاده می‌کند.

توسعه دهندگان از فرهنگ لغت جفت های کلید-مقدار برای ذخیره داده ها استفاده می کنند، زیرا کارآمد، انعطاف پذیر و مقیاس پذیر است. در اینجا یک دیکشنری PHP (به نام “آرایه”) به نظر می رسد:

$cats = get_categories(
  array(
    'taxonomy' => 'link_category',
    'hierarchical' => 0,
    'include' => $link_cat,
  )
);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در حالی که GZIP از فرهنگ لغت استفاده نمی کند، Brotli استفاده می کند دو.

فرهنگ لغت استاتیک بروتلی

اولی یک فرهنگ لغت ایستا (یعنی از پیش تعریف شده) از اصطلاحات کد رایج است که به عنوان مرجع برای متن HTML، CSS و جاوا اسکریپت عمل می کند.

بیش از 13000 کلمه در شش زبان مختلف وجود دارد و Brotli از آنها به عنوان ارجاع به نقاط کد استفاده می کند. این یک قیاس دقیق نیست، اما شبیه به روشی است که یک قلاب وردپرس به مجموعه بزرگتری از کدها ارجاع می دهد.

به این ترتیب، رمزگذار نیازی به غربال کردن کد بایت به بایت ندارد. در عوض، می‌تواند بر روی مراجع عمل کند، تعریف را از فرهنگ لغت بیرون بکشد و به سراغ بعدی برود.

همچنین عبارات دنیای واقعی در فرهنگ لغت و همچنین کدهایی وجود دارد که اغلب فشرده سازی را مشاهده نمی کنند. این به برخی از برچسب ها مانند <HTML> و پارامترهایی مانند type="text/javascript" کمی فشرده سازی کنید و به شما سود بیشتری بدهد.

همچنین برخی از «تغییرها» در فرهنگ لغت وجود دارد: جزئی، ناقص، و انواع دیگر عبارات که با یک پیشوند، پسوند یا حروف جدید به یک کلمه کاملاً جدید تبدیل می‌شوند – برای مثال، «Work» به «کار» یا «html» تبدیل می‌شود. ” به “HTML.”

فرهنگ لغت پویا بروتلی

فرهنگ لغت پویا محتوا و کد را در منبع تجزیه می کند، که برای دستگاه های کوچکتر خوب است، اما برای فایل های بزرگتر خوب نیست. به آن پنجره کشویی نیز می گویند و می تواند تا 16 مگابایت اندازه داشته باشد. این جایی است که الگوریتم فشرده سازی برخی از جدیدترین داده ها را به منظور ارجاع به آنها ذخیره می کند. این بسیار پویا است زیرا دائماً تغییر می کند.

اگر این را با پنجره کشویی GZIP با حجم حدود 32 کیلوبایت مقایسه کنید، خواهید دید که دامنه تجزیه و فشرده سازی بلادرنگ بسیار زیاد است. در واقع، بیشتر روش‌های معمولی از یک پنجره کشویی Brotli با حجم حدود 4 مگابایت استفاده می‌کنند که در مقایسه با الگوریتم‌های رقیب هنوز هم بزرگ است.

مزایای فشرده سازی بروتلی

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

  1. این فناوری از همان فناوری استفاده می کند که GZIP استفاده می کند و با روش های مدرن آن را تقویت می کند.

  2. تجزیه مبتنی بر فرهنگ لغت Brotli به این معنی است که می تواند تعداد بیشتری از فایل های شما را به سطح عمیق تری فشرده کند.

  3. در حالی که Brotli در مقایسه با GZIP به قدرت محاسباتی بیشتری نیاز دارد، نتایج به معنی فایل های کوچکتر است.

  4. در سطوح فشرده‌سازی، اکثر میزبان‌های وب از آن استفاده می‌کنند – چیزی میان‌رده مانند سطح چهار یا پنج – Brotli بهتر از GZIP بدون عرق کردن عمل می‌کند.

  5. متوجه خواهید شد که Brotli تقریباً از پشتیبانی جهانی در سراسر مرورگرها برخوردار است، اگر نه برخی از ابزارهای معیاری که شما به آن عادت دارید.

  6. Brotli برای استفاده رایگان و منبع باز است. اگر از CDN سازگار با Brotli مانند Cloudflare استفاده می کنید، این یک مزیت است.

شایان ذکر است که Cloudflare از فشرده سازی Brotli در تمام سرورهای خود استفاده می کند. در واقع، از یک نسخه اصلاح شده و بهینه شده Brotli استفاده می کند تا از نظر سرعت و تحویل فایل به شما سود بیشتری بدهد.

از آنجایی که Kinsta یکپارچه سازی Cloudflare را در همه برنامه ها ارائه می دهد، هر سایت میزبانی شده به طور پیش فرض از Brotli استفاده می کند. این تنها یکی از دلایلی است که Kinsta یکی از پیشروترین و بهترین ارائه دهندگان هاست در بازار است.

1. از یک ابزار آنلاین استفاده کنید

ساده ترین راه برای بررسی اینکه آیا سایت شما از فشرده سازی Brotli استفاده می کند یا خیر، از طریق یک ابزار آنلاین است. در حالی که چند مورد برای انتخاب وجود دارد، شما چیزی می خواهید که استفاده از آن سریع و ساده باشد که همچنین مجموعه ای از اطلاعات را در مورد تنظیمات خود به شما ارائه دهد.

هدیه سرعت انتخاب ما برای بررسی فشرده سازی Brotli است.

وب سایت هدیه سرعت.

تعیین می کند که آیا سایت شما از GZIP، Brotli استفاده می کند یا اصلاً فشرده سازی ندارد، و چند معیار دیگر را ارائه می دهد تا به شما کمک کند تصمیم بگیرید که چه کاری انجام دهید. این معیارها بینش مهمی را ارائه می دهند، زیرا شما فقط نمی خواهید در نظر بگیرید که آیا سرور سایت شما از “طعم” فشرده سازی مناسب استفاده می کند یا خیر.

2. استفاده از ابزارهای توسعه دهنده مرورگر را بررسی کنید

اکثر توسعه دهندگان می دانند که یک مرورگر ابزارهای خارق العاده ای را برای کمک به شما در انجام انواع بررسی ها و عیب یابی های مرتبط با وب ارائه می دهد. یک بررسی سریع که می توانید انجام دهید این است که آیا سایت شما (یا یک دارایی خاص) از فشرده سازی Brotli استفاده می کند یا خیر.

برای همه مرورگرهای اصلی مانند Brave، Edge، Firefox یا Chrome، می توانید به این آدرس بروید شبکه > همه صفحه نمایش

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

در اینجا، خروجی را به پایین اسکرول کنید تا زمانی که آن را ببینید content-encoding: br خط:

ابزارهای توسعه دهنده Brave که نشان می دهد فشرده سازی Brotli برای سایت فعال است.

خلاصه: اگر دیدی content-encoding: br، این به شما می گوید که Brotli برای آن سایت فعال است.

چگونه فشرده سازی Brotli را برای سایت خود فعال کنید

ما چندین روش مختلف برای فعال کردن فشرده سازی Brotli برای سایت خود به شما نشان خواهیم داد. اولین روشی است که ما برای اکثر سایت‌های وردپرسی که از Kinsta استفاده نمی‌کنند توصیه می‌کنیم – و آخرین چیزی است که ما برای هر سایتی که رویکرد اول را می‌خواند توصیه می‌کنیم!

1. از افزونه وردپرس استفاده کنید

کش کردن یکی از موارد استفاده افزونه ها است و موارد زیادی در اطراف وجود دارد. با این حال، همه به شما اجازه نمی دهند فشرده سازی Brotli را فعال کنید، بنابراین باید عاقلانه انتخاب کنید و آماده باشید تا راه حل مورد نظر خود را تغییر دهید.

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

شما باید به کارایی > کش مرورگر صفحه در وردپرس:

توضیحات تصویر

این صفحه دو تنظیمات را نشان می دهد. یکی که می خواهید انتخاب کنید این است فشرده سازی HTTP (brotli) را فعال کنید:

توضیحات تصویر

فعال کردن فشرده سازی Brotli در کش W3 Total.

با این حال، این برای هر سایت و موقعیتی مناسب نیست. به عنوان مثال، Kinsta سرور خود را برای میزبانی سریع، با کارایی بالا و قابل اعتماد بهینه می کند. به این ترتیب، تعدادی افزونه وجود دارد که به آنها نیازی نخواهید داشت، و برخی دیگر حتی از استفاده در سایت های Kinsta منع شده اند.

در این موارد، شما می خواهید رویکرد دیگری را در پیش بگیرید.

2. Brotli را در سرور فعال کنید

وقتی نوبت به انتخاب نوع سرور می رسد، Nginx vs Apache یک نبرد طولانی مدت است که (در حال حاضر) اولی برنده است. صرف نظر از این، هر دو نوع سرور می توانند فشرده سازی Brotli را فعال کنند و برای هر کدام رویکردهای متفاوتی وجود دارد.

قبل از اینکه به رویکرد دستی نگاه کنید، چند پیش نیاز وجود دارد که باید بدانید:

  • شما می خواهید بدانید که چگونه می توانید به فایل های پیکربندی خود برای سرور خاص خود دسترسی پیدا کنید.

  • دانش خط فرمان مفید خواهد بود، به خصوص زمانی که صحبت از سرورهای آپاچی باشد. برای اجرای هر دستوری، باید یک کاربر روت باشید sudo امتیازات

  • ممکن است به یک ویرایشگر متن نیاز داشته باشید، اما برای تغییرات سریع مانند این، باید خوب باشید.

  • در برخی موارد، شما به اعتبارنامه ورود به سیستم خود به عنوان یک کاربر پوسته ایمن (SSH) روی خود سرور نیاز دارید. می توانید این موارد را در کنترل پنل هاست خود بیابید یا برای درخواست با پشتیبانی تماس بگیرید.

اگر در مورد روش دستی شک دارید، توصیه می کنیم گزینه دیگری را بررسی کنید یا برای کمک با میزبان خود تماس بگیرید. صرف نظر از این، ما یک مرور مختصر از فرآیند هر سرور به نوبه خود ارائه خواهیم داد که با Nginx شروع می شود.

Nginx

برای فعال کردن فشرده سازی Brotli در سرورهای Nginx، ابتدا باید آن را پیدا کنید nginx.conf فایل. این یکی از چند مکان خواهد بود:

  • /usr/local/nginx/conf

  • /etc/nginx

  • /usr/local/etc/nginx

وقتی فایل را باز کردید، موارد زیر را به پایین اضافه کنید:

brotli on;
brotli_static on;
brotli_comp_level 9; # You can change this from 1–11. 4–9 offers good performance balance.
brotli_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این مجموعه Brotli را روشن می کند و از آن برای ارائه فایل های استاتیک استفاده می کند. را brotli_comp_level تنظیمی است که می توانید بسته به مورد استفاده و نیاز خود تغییر دهید. اعداد بالاتر فشرده سازی بهتری را ارائه می دهند که با سایتی با عملکرد کمتر متعادل می شود.

آپاچی

از آنجایی که آپاچی در مورد تنظیمات انعطاف پذیر است، می توانید فشرده سازی Brotli را بدون سر و صدا زیاد فعال کنید.

برای انجام این کار؛ این موارد را دنبال کنید:

  1. با استفاده از Command Prompt یا Terminal به عنوان روت وارد سرور خود شوید sudo کاربر.

  2. را اجرا کنید a2enmod brotli دستور روشن کردن فشرده سازی

  3. در داخل Apache VirtualHost یا پیکربندی سرور خود، آن را اضافه کنید AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript خط را برای تنظیم انواع فایل های مناسبی که می خواهید فشرده کنید.

در حالی که آپاچی از فشرده سازی استاتیک پشتیبانی نمی کند، می توانید سطح فشرده سازی Brotli را که ارائه می کنید با استفاده از BrotliCompressionQuality LEVEL-NUMBER خط با این حال، باید جای جای “LEVEL-NUMBER” را با عددی بین 1 تا 11 جایگزین کنید.

3. از یک میزبان وب پشتیبانی کننده استفاده کنید

ساده ترین راه برای فعال کردن فشرده سازی Brotli برای سایت شما این است که مطمئن شوید میزبان شما این کار را به طور پیش فرض انجام می دهد. Kinsta به لطف ادغام آن با CDN Cloudflare، فشرده سازی Brotli را به صورت استاندارد ارائه می دهد.

صفحه CDN Cloudflare.

Kinsta CDN از زیرساخت های Cloudflare در همه برنامه ها پشتیبانی می شود – بنابراین هر سایتی از فشرده سازی Brotli بدون نیاز به فعال کردن آن استفاده می کند.

شما باید بررسی کنید که آیا میزبان انتخابی شما فشرده سازی Brotli را ارائه می دهد یا خیر، و تا چه سطحی باید آن را پیکربندی کنید. برای اجرای کارآمدترین، پایدارترین و ایمن ترین سایت، میزبانی خوب ضروری است.

خلاصه

فشرده سازی داده ها جزء ضروری توسعه و استفاده از وب مدرن است. اندازه فایل‌ها به دلیل انواع فایل‌های غنی و پیچیده‌ای که برای جمع‌آوری یک وب‌سایت استفاده می‌کنید، می‌تواند سر به فلک بکشد. همه آنها به نوعی فشرده سازی نیاز دارند.

رویکرد معمولی تا کنون GZIP بوده است، اما یک بچه جدید در بلوک وجود دارد.

فشرده سازی Brotli فناوری خود را بر اساس همان پایه GZIP قرار می دهد، اما برخی از مزایای افزایش عملکرد را نیز شامل می شود. همانطور که بحث کردیم، از نگاشت زمینه برای پردازش سریعتر درخواست فشرده سازی و دیکشنری استفاده می کند که از جمعیت پویا استفاده می کند. این بسیار بزرگتر از چیزی است که GZIP می تواند ارائه دهد، و همچنین به کاربران موبایل اجازه می دهد از فشرده سازی نیز بهره مند شوند.

خبر خوب این است که هر سایت Kinsta می تواند از فشرده سازی Brotli به دلیل ادغام منحصر به فرد Cloudflare ما بهره مند شود. این بدان معناست که سایت میزبانی شده توسط Kinsta شما سریعتر از رقبا با استفاده از GZIP است و برای کسانی که در دستگاه های کوچکتر هستند به سرعت بارگیری می شود.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا