مقایسه جامع فشرده سازی brotli و gzip | بروتلی و جیزیپ

تفاوت فشرده سازی brotli و gzip یکی از مهم ترین سوالات کاربران است. مهم است که با 2 الگوریتم فشرده سازی brotli و gzip آشنا شوید. چرا که امروزه، افزایش رضایت مشتری برای ایجاد تعامل و دستیابی به موفقیت تجاری بسیار مهم است.
یکی از جنبههای مهم که به طور قابل توجهی بر رضایت مشتری تأثیر می گذارد، سرعت بارگذاری وب سایت است.
اگر شما صاحب یک وبسایت هستید، قطعا انتخاب بین فشرده سازی brotli و gzip از دغدغه های شماست. در این مقاله با مقایسه جامع 2 الگوریتم فشرده سازی brotli و gzip می توانید به بهبود سرعت سایتتان کمک کنید. برای شناخت بروتلی و جیزیپ تا پایان همراه ما باشید.
در این مقاله، مزایای فشرده سازی Brotli نسبت به فشرده سازی GZIP را بررسی خواهیم کرد و توانایی آن در صرفه جویی در زمان بارگذاری را بیان میکنیم.
آنچه در این مقاله می خوانید :
فشرده سازی brotli چیست؟
در مقایسه فشرده سازی brotli و gzip، باید گفت فشرده سازی brotli (بروتلی) یک الگوریتم فشرده سازی بسیار کارآمد است. بروتلی توسط گوگل در ابتدا برای استفاده از woff2 توسعه یافت و بعداً برای برنامه های کاربردی گستردهتر گسترش یافت.
در مقایسه فشرده سازی brotli و gzip، الگوریتم بروتلی نسبت های فشرده سازی مشابهی با بهترین روش های فشرده سازی عمومی موجود در حال حاضر ارائه می دهد.
Brotli 11 سطح کیفیت تراکم را معرفی می کند که از 1 تا 11 متغیر است. با افزایش سطح کیفیت، نسبت تراکم نیز افزایش می یابد. با این حال، توجه به این نکته مهم است که سطوح تراکم بالاتر بر سرعت فشرده سازی تأثیر می گذارد.
با پذیرش گسترده، Brotli توسط همه مرورگرهای وب مدرن پشتیبانی می شود، تقریباً 96.6٪ از کاربران از مرورگرهایی استفاده می کنند که از Brotli پشتیبانی می کنند.

اینترنت اکسپلورر، اج، فایرفاکس، کروم، سافاری، سافاری iOS، اپرا مینی، کروم برای اندروید، مرورگر UC برای اندروید و اینترنت سامسونگ همگی از brotli پشتیبانی میکنند. این مرورگرها با ترکیب عملکرد brotli، تحویل کارآمد محتوا به کاربران را تضمین می کنند.
برای بررسی اینکه آیا مرورگر شما از brotli پشتیبانی می کند، می توانید هدر درخواست پذیرش-کدگذاری را بررسی کنید. مرورگرهایی که از brotli پشتیبانی میکنند، توکن ” br ” را در کنار ” GZIP ” قرار میدهند.
هنگامی که brotli در وب سرور شما فعال است، پاسخ هایی را در قالب فشرده brotli دریافت خواهید کرد که کارایی انتقال داده را بیشتر می کند.

مطالعات نشان داده است که 40٪ از کاربران، یک وب سایت را در صورتی که بارگذاری آن بیش از سه ثانیه طول بکشد، رها می کنند، در حالی که حتی یک ثانیه تاخیر در پاسخ صفحه می تواند منجر به کاهش 7٪ در تبدیل شود. واضح است که هر ثانیه مهم است!
راهکارهای بسیار زیادی برای افزایش سرعت سایت وجود دارد که می توانید مقاله با عنوان چگونه سرعت سایت را افزایش دهیم؟ را مشاهده نمایید.
هر کدام از الگوریتم های فشرده سازی brotli و gzip دارای ویژگی های مثبت و منفی هستند. با بررسی این ویژگی ها می توان انتخاب مناسب تری را انجام داد.
روش کار الگوریتم فشرده سازی بروتلی چگونه است؟
الگوریتم فشرده سازی بروتلی، یک الگوریتم فشرده سازی منبع باز است که به دلیل نسبت فشرده سازی برتر خود در مقایسه با GZIP شناخته شده است. این الگوریتم شامل LZ77، کدگذاری هافمن، و تکنیکهای مدلسازی زمینه مرتبه دوم برای فشردهسازی کارآمد دادهها است.
چه چیزی بروتلی را متمایز می کند؟
در مقایسه فشرده سازی brotli و gzip، یکی از دلایل تمایز بروتلی، فرهنگ لغت جامع آن است. این فرهنگ لغت شامل 13504 کلمه یا هجا از انگلیسی، اسپانیایی، چینی، هندی، روسی و عربی به همراه عبارات رایجی است که در زبانهای قابل خواندن توسط ماشین مانند HTML و جاوا اسکریپت استفاده میشود.
با مجموع 122784 بایت، فرهنگ لغت ایستا پایه و اساس قابلیت های فشرده سازی Brotli را تشکیل می دهد. علاوه بر این، بروتلی مکانیزمی از تبدیل ها را به کار می گیرد که کمی کلمات را در فرهنگ لغت تغییر میدهد و کارایی فشرده سازی آن را بیشتر می کند.
این الگوریتم چگونه کار می کند؟
- ابتدا بروتلی به دنبال الگوهای تکراری در داده ها میگردد و کدهای کوتاه تری را جایگزین آنها می کند. این به حذف اضافات و فشردهتر کردن فایل کمک میکند.
- دوم اینکه brotli از روشی به نام کدگذاری هافمن استفاده می کند. کدهای کوتاه تری را به رایج ترین کلمات و کدهای طولانی تر را به کلمات کمتر اختصاص می دهد. با انجام این کار، Brotli می تواند کلمات پرکاربرد را با بیتهای کمتر نمایش دهد و حجم فایل را کاهش دهد.
- ترفند دیگری که Brotli از آن استفاده می کند، مدل سازی زمینه نام دارد. این ترفند، زمینه یا محیط اطراف داده ها را برای پیش بینیهای هوشمندتر تجزیه و تحلیل میکند. با درک الگوها و روابط بین دادهها، بروتلی میتواند حدسهای دقیقتری در مورد آنچه در آینده میآید انجام دهد. این کار به فشرده سازی فایل به صورت موثرتر کمک می کند.
به طور کلی، ترکیبی از تکنیکهای پیشرفته، فرهنگ لغت استاتیک جامع و مکانیسمهای تغییر شکل بروتلی، آن را به یک الگوریتم فشردهسازی بسیار مؤثر تبدیل کرده است.
نسبت فشرده سازی چشمگیر و کاهش اندازه فایل را ارائه می دهد و از الگوریتم های دیگر مانند GZIP، bzip2 و LZMA بهتر عمل می کند.
مزایای brotli نسبت به gzip
مزایای Brotli نسبت به GZIP را اینگونه می توان بیان کرد:
Brotli با استفاده از یک فرهنگ لغت، مزیتی نسبت به GZIP ارائه می دهد و به آن اجازه می دهد به جای کلمات کلیدی کامل، کلیدها را ارسال کند. به همین دلیل، Brotli در مقایسه با فشرده سازی GZIP به کاهش قابل توجهی در اندازه فایل دست می یابد.
به طور خاص، فایل های جاوا اسکریپت فشرده شده با Brotli تقریباً 15٪ کوچکتر هستند، فایل های HTML حدود 20٪ کاهش می یابد و فایل های CSS تقریباً 16٪ کاهش می یابد.
این پیشرفتها در اندازه فایل به انتقال و ذخیرهسازی کارآمدتر داده در محیطهای وب کمک میکند.
کاهش تعداد بایت های منتقل شده نه تنها زمان بارگذاری صفحه را بهبود می بخشد، بلکه به کاهش هزینه های مرتبط با شبکه های تحویل محتوا( CDN ) نیز کمک می کند.
اکنون که مزایای brotli را نسبت به GZIP درک کردیم، اجازه دهید محدودیت های آن را بررسی کنیم.
محدودیت های بروتلی
دانستن محدودیت های بروتلی نیز مهم است. استفاده از فشرده سازی Brotli نیز دارای اشکالاتی است. برای شروع، فعال کردن Brotli نیاز به تغییرات پیکربندی سمت سرور دارد، برخلاف GZIP که معمولاً به طور پیش فرض در دسترس است.
Brotli در مقایسه با GZIP پشتیبانی محدودی از مرورگر دارد، اگرچه مرورگرهای اصلی مانند Chrome، Firefox و Opera از آن پشتیبانی می کنند. یکی دیگر از نکات منفی این است که فشرده سازی فایل ها در Brotli در مقایسه با GZIP بیشتر طول میکشد.
با وجود مزایای این فشرده ساز، در نظر گرفتن این محدودیتها هنگام تصمیم گیری در مورد استفاده از فشرده سازی Brotli مهم است. اگر در سایتتان از افزونه های افزایش سرعت استفاده می کنید، خواندن مقاله بهترین افزونه افزایش سرعت وردپرس پیشنهاد میشود.
فشرده سازی GZIP چیست؟
GZIP که توسط Jean-loup Gailly و Mark Adler توسعه یافته است، یک فرمت فشرده سازی و نرم افزار کاربردی است که به طور گسترده مورد استفاده قرار می گیرد. در ابتدا به عنوان یک کتابخانه فشرده سازی همه کاره ایجاد شد و از الگوریتم فشرده سازی DEFLATE الهام گرفت.
GZIP نیز همانند Brotli، به دلیل کاهش قابل توجه اندازه فایل ها، که اغلب به نسبت فشرده سازی تا 80% می رسد، شناخته شده است. به ویژه برای فشرده سازی داده هایی مانند فایل های متنی، کدهای جاوا اسکریپت یا CSS و انواع دیگر محتوای HTTP موثر است.
GZIP ، نه سطح فشرده سازی فایل را ارائه می دهد که از سطح 1 برای ذخیره فایل های کوچکتر و سرعت فشرده سازی سریعتر تا سطح 10 برای حداکثر صرفه جویی در فایل با سرعت فشرده سازی کمتر متغیر است.
اکنون، بیایید نگاهی دقیقتر به نحوه عملکرد الگوریتم فشردهسازی GZIP بیندازیم. البته مقاله ی آموزش فعال کردن Gzip نیز در سایت ما وجود دارد که می توانید آن را مطالعه نمایید و سپس ادامه ی این مقاله را با ما باشید.
روش کار الگوریتم فشرده سازی GZIP چگونه است؟
GZIP یک الگوریتم فشرده سازی بدون تلفات است که بر اساس الگوریتم deflate ساخته شده است که تکنیک های کدگذاری LZ77 و هافمن را ترکیب می کند. به عنوان یک روش فشردهسازی بدون تلفات، تضمین میکند که دادههای فشردهشده مشابه با اصلی باقی میمانند.
الگوریتم فشرده سازی GZIP در دو مرحله عمل می کند. در ابتدا، توالی بایت های تکرار شده را در داده ها شناسایی می کند و آنها را با نمایش های کوتاه تر جایگزین می کند.
سپس به این دنباله های کوتاه شده تعداد متغیری از بیت ها بر اساس فراوانی وقوع آنها اختصاص داده می شود. توالیهای پرتکرار بیتهای کمتری دریافت میکنند، در حالی که توالیهای کمیابتر، بیتهای بیشتری را دریافت میکنند.
این فرآیند فشرده سازی، حجم فایل فشرده را به میزان قابل توجهی نسبت به نسخه اصلی کاهش می دهد.
بیایید نحوه عملکرد GZIP در عمل را بررسی کنیم:
- هنگامی که یک سرور درخواستی برای یک صفحه وب دریافت می کند، هدر درخواست را بررسی می کند تا مشخص کند آیا مرورگر از فشرده سازی GZIP پشتیبانی می کند یا خیر.
- اگر فشردهسازی GZIP پشتیبانی شود، سرور نشانهگذاری صفحه را ایجاد میکند و فشردهسازی GZIP را روی آن اعمال میکند.
- GZIP نشانه گذاری را به یک جریان داده فشرده تبدیل می کند که سپس به کاربر نهایی تحویل می شود.
- پس از دریافت جریان فشرده، مرورگر کاربر آن را از حالت فشرده خارج میکند و نشانه گذاری اصلی را بازیابی میکند.
به طور خلاصه، GZIP الگوهای تکراری را شناسایی میکند، آنها را با نمایشهای کوتاهتر جایگزین میکند و کدهای با طول متغیر را بر اساس فرکانس اختصاص میدهد.
این روش فشرده سازی به طور قابل توجهی اندازه فایل ها را کاهش می دهد و کارایی انتقال داده را افزایش می دهد.
مزایای جیزیپ نسبت به بروتلی
مزایای GZIP نسبت به Brotli را نباید نادیده گرفت. در حالی که Brotli قابلیت های فشرده سازی قابل توجهی را ارائه می دهد، GZIP هنوز در سناریوهای خاص دارای مزایای خاصی است.
در اینجا چند مزیت GZIP نسبت به Brotli آورده شده است:
- سازگاری: GZIP از دهه 1990 به طور گسترده مورد استفاده قرار گرفته است و تقریباً توسط تمام مرورگرها و سرورهای وب پشتیبانی میشود. این فرمت فشرده سازی استاندارد شده است که سازگاری گسترده را در پلتفرم های مختلف تضمین می کند.
- اکوسیستم تثبیت شده: GZIP دارای یک اکوسیستم تثبیت شده با ابزارها و کتابخانه های فراوان برای پیاده سازی است. حضور طولانی مدت آن در صنعت ادغام و کار در محیط های نرم افزاری مختلف را آسان تر میکند.
- سرعت فشرده سازی: GZIP به طور کلی سرعت فشرده سازی سریع تری نسبت به Brotli دارد. این موضوع می تواند به سرعت فایل ها را فشرده کند، و آن را برای سناریوهایی که سرعت در اولویت است مناسب می کند.
- کاهش بار سرور: فشرده سازی Brotli Cloudflare در شبکه لبه(نقاط نزدیک به کاربران) آنها انجام می شود، نه در سرور اصلی شما. این بدان معنی است که فشرده سازی بر روی سرورهای Cloudflare انجام می شود، نه سرورهای شما. بنابراین، استفاده از فشرده سازی Brotli از طریق Cloudflare، منابع سرور شما را مصرف نمی کند. این یکی از مزایای استفاده از یک شبکه تحویل محتوا( CDN ) مانند Cloudflare است، زیرا وظایفی مانند فشرده سازی را از سرور شما به آنها تخلیه می کند و منابع را در سرور شما آزاد می کند.
- پشتیبانی از جریان: GZIP برای سناریوهای پخش جریانی مناسب است، جایی که داده ها فشرده شده و در زمان واقعی تحویل داده می شوند. سازگاری و پشتیبانی آن از برنامه های پخش جریانی، آن را در موارد استفاده خاص به انتخابی ارجح تبدیل می کند.
شایان ذکر است که GZIP در ابتدا برای فشرده سازی فایل ها طراحی شد و بعداً برای فشرده سازی جریان ها برای پاسخگویی به برنامه های کاربردی وب اقتباس شد.
در مقابل، Brotli از ابتدا به طور خاص برای فشردهسازی جریانها طراحی شده بود، و آن را به انتخابی بهینهتر برای وب سرورها در هنگام فشردهسازی محتوا قبل از پخش آن در مرورگر تبدیل میکرد.
محدودیت های GZIP
به محدودیت های GZIP توجه کنید. چرا که GZIP چند محدودیت قابل توجه دارد. اولا، نسبت فشرده سازی آن ممکن است به اندازه الگوریتم های پیشرفته تر مانند Brotli نباشد و در نتیجه حجم فایل کمتری کاهش یابد. علاوه بر این، تنظیم نسبت فشرده سازی بیش از حد در GZIP می تواند سربار CPU را افزایش دهد و بر استفاده از منابع و سرعت پردازش تأثیر بگذارد.
برخلاف Brotli، GZIP فاقد برخی تکنیکهای فشردهسازی پیشرفته است، مانند مدلسازی زمینه، که میتواند بر راندمان فشردهسازی تأثیر بگذارد.
همچنین، همانطور که قبلاً اشاره کردیم، در حالی که GZIP از فشرده سازی جریان پشتیبانی می کند، در ابتدا برای فشرده سازی فایل ها طراحی شده بود و Brotli را به گزینه ای بهینه تر برای وب سرورها تبدیل می کند.
در نهایت، سرعت فشرده سازی GZIP می تواند متفاوت باشد، با سطوح فشرده سازی بالاتر که منجر به کندتر شدن زمان پردازش می شود.
مقایسه فشرده سازی brotli و gzip
Brotli و GZIP یک هدف اصلی مشترک دارند: فشرده سازی محتوای وب سایت. با این حال، تفاوت در روش های فشرده سازی و اثربخشی آنها نهفته است. قبل از اجرای آزمایشهای خود، بیایید ببینیم که دادههای مقایسه موجود در مورد هر دو الگوریتم فشرده سازی brotli و gzip چه میگویند.
توجه به این نکته مهم است که فشرده سازی و عملکرد وب جنبه های مختلفی را در بر می گیرد:
- نسبت فشرده سازی: این مورد به صرفه جویی در اندازه فایل از طریق فشرده سازی اشاره دارد. به عنوان مثال، فشرده سازی یک فایل 10 مگابایتی به 5 مگابایت.
- سرعت فشرده سازی: به سرعتی که در آن فرآیندهای فشرده سازی رخ می دهد اشاره دارد. این عامل به ویژه برای محتوای تولید شده به صورت پویا که نیاز به فشرده سازی در حین پرواز دارد، بسیار مهم است.
در معیاری که توسط ارائهدهنده تحویل محتوا Akamai انجام شد، آنها 1000 URL برتر را تجزیه و تحلیل کردند، فایلهای HTML، CSS و جاوا اسکریپت را دانلود کردند و آنها را با استفاده از GZIP و Brotli فشرده کردند.
نتایج نشان داد که میانگین صرفه جویی در فشرده سازی عبارت بود از:
- GZIP: 78%
- Brotli: 82%
توجه: درصدهای بالاتر نشان دهنده عملکرد فشرده سازی بهتر است.
مطالعه Akamai همچنین نشان داد که Brotli در زمینه های خاص از GZIP بهتر عمل کرد:
- بروتلی 14% درصد فشرده سازی بهتری برای فایل های جاوا اسکریپت به دست آورد.
- بروتلی به 17% فشرده سازی بهتر برای فایل های CSS دست یافت.
- بروتلی 21% فشرده سازی بهتری برای فایل های HTML بدست آورد.
این ارقام نشاندهنده نتایج متوسط بهدستآمده از آزمایشهای Akamai است و در یک نگاه، Brotli عملکرد بهتری نسبت به GZIP ارائه میدهد.
حالا بیایید به آزمایشی که انجام دادیم برویم. اما قبل از آن باید GZIP یا Brotli را فعال کنیم.
فعال سازی فشرده سازی brotli و gzip با استفاده از W3 Total Cache
ممکن است روش های متنوعی برای این آزمایش وجود داشته باشد. ما در این مقاله از افزونه W3 Total Cache برای فعال کردن فشرده سازی GZIP و Brotli استفاده خواهیم کرد.
ابتدا باید افزونه W3 Total Cache را در سایت وردپرس خود نصب کنید. برای این کار باید مراحل زیر را دنبال کنید.
به وب سایت وردپرس خود بروید و به پلاگین > افزودن جدید بروید.
W3 Total Cache را در نوار جستجوی سمت راست جستجو کنید. سپس بر روی دکمه Install کلیک کنید.

حالا روی دکمه Activate کلیک کنید.

بسیارخب افزونه نصب شده است. اکنون زمان آن است که ببینیم چگونه می توانیم GZIP و Brotli را فعال کنیم.
فعال سازی فشرده سازی gzip با استفاده از W3 Total Cache:
به Performance > Cache مرورگر بروید و فشرده سازی HTTP (gzip) را فعال کنید.

حالا آن را روی مرورگر تست کنید. سپس سایت خود را در مرورگر باز کنید.
روی سایت کلیک راست کرده و بر روی Inspect کلیک کنید. اکنون روی تب Network کلیک کرده و سایت خود را Refresh کنید.

هدر پذیرش-کدگذاری را پیدا کنید. در قسمت Request Headers قرار خواهد گرفت. اینها هدرهایی هستند که مرورگر شما به سرور ارسال می کند.

سربرگ کدگذاری محتوا را پیدا کنید. این مورد در قسمت Response Headers قرار خواهد گرفت. در اینجا، می توانید Content-Encoding را ببینید: gzip

فعال سازی فشرده سازی brotli با استفاده از W3 Total Cache:
همین مراحل را برای فعال کردن بروتلی در W3 Total Cache دنبال کنید. اگر نسخه رایگان دارید، نمیتوانید به Brotli دسترسی پیدا کنید زیرا برای شما غیرفعال است.
به Performance > Browser Cache بروید و فشرده سازی HTTP (brotli) را فعال کنید.
همین است. به این صورت است که فشرده سازی Brotli یا Gzip را با استفاده از افزونه W3 Total Cache در وب سایت وردپرس خود فعال کنید.
با این حال، اگر از افزونه W3 Total Cache استفاده می کنید، چند گزینه پیکربندی دیگر وجود دارد که باید در نظر بگیرید. به عنوان مثال، شما باید CDN را از منوی کشویی نوع CDN پیکربندی کنید، که اگرچه دشوار نیست، اما کمی خسته کننده است.
علاوه بر استفاده از روش پلاگین، اگر از افزونه Cloudways Cloudflare Enterprise استفاده می کنید، اگر کاربر Cloudways هستید، می توانید فشرده سازی Brotli را نیز فعال کنید، یا می توانید فشرده سازی Brotli یا Gzip را مستقیماً در سرور خود فعال کنید.
اگر از افزونه Cloudways Cloudflare Enterprise استفاده کنید، نیازی به پیکربندی CDN نخواهید داشت، زیرا Cloudflare خود یک CDN بسیار عظیم است.
نتیجه گیری
در این مقاله به بررسی الگوریتم های فشرده سازی brotli و gzip پرداختیم. هر کدام از این فشره سازها دارای ویژگی هایی هستند که توجه به آن ها در یک انتخاب مناسب مهم است.
الگوریتم فشرده سازی بروتلی، یک الگوریتم فشرده سازی منبع باز است. این الگوریتم شامل LZ77، کدگذاری هافمن، و تکنیکهای مدلسازی زمینه مرتبه دوم برای فشردهسازی کارآمد دادهها است.
GZIP نیز برای فشرده سازی داده هایی مانند فایل های متنی، کدهای جاوا اسکریپت یا CSS و انواع دیگر محتوای HTTP موثر است. به هر حال هر دو نوع فشرده سازی brotli و gzip کارایی خوبی دارند. اما در مقایسه فشرده سازی brotli و gzip، الگوریتم بروتلی نسبت های فشرده سازی مشابهی با بهترین روش های فشرده سازی عمومی موجود ارائه می دهد.
اگر وبسایتی دارید که می خواهید سرعت آن را افزایش دهید، می توانید از خدمات افزایش سرعت سایت ما استفاده کنید. ما در این خدمات برای موفقیت سایت شما، نهایت تلاش خود را می کنیم. پس با تهیه ی این خدمات تجربه ی موفقی را از سایت ما برای خود رقم بزنید.
منبع: cloudways.com





