تحقیقات نشان میدهد که فشرده سازی عناصر مبتنی بر متن مانند HTML، CSS و جاوا اسکریپت میتواند کاهش قابل توجهی در مدت زمان بارگذاری صفحه به همراه داشته باشد. یکی از بهترین راههایی که می توانید این کار را انجام دهید، فعال کردن فشرده سازی Brotli است.
یک مطالعه توسط Portent نشان میدهد که نرخ تبدیل سایتهایی که در ۱ ثانیه بارگذاری میشوند ۳ برابر بیشتر از سایتهایی که در ۵ ثانیه بارگذاری میشوند.
بنابراین، در این مطلب به شما کمک می کنیم تا بدانید فشرده سازی Brotli چیست، چگونه کار میکند و دو روش مختلف که از طریق آن میتوانید آن را فعال کنید.
فشرده سازی Brotli چیست؟
Brotli یک الگوریتم فشرده سازی متنباز است که به دلیل نسبت فشرده سازی برتر خود شناخته شده است و شامل LZ77، کدگذاری هافمن، و تکنیکهای مدلسازی زمینه مرتبه دوم برای فشردهسازی کارآمد دادهها است.
Brotli یازده سطح کیفیت تراکم را معرفی میکند که از ۱ تا ۱۱ متغیر است. با افزایش سطح کیفیت، نسبت تراکم نیز افزایش مییابد. با این حال، توجه به این نکته مهم است که سطوح تراکم بالاتر بر سرعت فشرده سازی تاثیر میگذارد.
با پذیرش گسترده، الگوریتم فشرده سازی Brotli توسط تمام مرورگرهای وب مدرن پشتیبانی میشود و تقریبا ۹۷.۶۵٪ از کاربران از مرورگرهایی استفاده میکنند که از Brotli پشتیبانی مینماید.
فشرده سازی Brotli چگونه کار میکند؟
فشرده سازی Brotli اندازه دادهها را برای انتقال سریعتر در سه مرحله کاهش میدهد. در این بخش آنها را بررسی میکنیم تا بفهمیم فشرده سازی Brotli چگونه کار میکند.
مرحله ۱: پیش پردازش (Preprocessing)
قبل از اینکه شروع به فشرده سازی هر چیزی کنیم، باید دادهها را آماده کنیم. مثل این است که همه چیز را قبل از قرار دادن در چمدان، مرتب کنید.
Brotli ابتدا به دادهها نگاه میکند و از تکنیکهای هوشمندی برای مرتب کردن مجدد آنها استفاده نموده و هر قسمت غیرضروری را که نیازی به فشردهسازی ندارد حذف میکند که به بهبود کارایی مراحل بعدی کمک میکند.
مرحله ۲: فشرده سازی (Compression)
اکنون زمان فشرده سازی واقعی فرا میرسد، به این فکر کنید که لباسها را فشرده و مرتب در آن چمدان تا کنید. Brotli دادههای از پیش پردازش شده را میگیرد و از الگوریتمهای پیشرفته برای کوچک کردن آنها به اندازه بسیار کوچکتر استفاده میکند.
به دنبال الگوها در دادهها میگردد، قطعات تکراری را پیدا نموده و از کدهای کوتاه تری برای نمایش آنها استفاده میکند. هدف این است که فایل تا حد امکان فشرده شود بدون اینکه هیچ یک از اطلاعات اصلی از دست برود.
مرحله ۳: رفع فشار (Decompression)
هنگامی که نیاز به استفاده از دادههای فشرده است، زمان باز کردن چمدان فرا رسیده است.
فرآیند فشردهسازی بروتلی فشردهسازی را معکوس میکند، فایل کوچکتر را میگیرد و آن را به شکل اصلی باز میگرداند. این بسیار سریع اتفاق میافتد، بنابراین زمانی که یک صفحه وب را بارگیری میکنید، همه دادهها به حالت عادی باز میگردند و آماده استفاده هستند؛ درست مانند قبل از فشردهسازی.
مزایای الگوریتم فشرده سازی بروتلی
یک مطالعه توسط گوگل نشان داد که با افزایش زمان بارگذاری صفحه از ۱ به ۳ ثانیه، احتمال بازگشت کاربر ۳۲ درصد افزایش می یابد.
بنابراین، بهعنوان یک کسبوکار، میدانید که نمیتوانید صفحات وب با سرعت بارگذاری آهسته را بپردازید و باید برای عملکرد بهینهسازی کنید. این چیزی است که فشرده سازی واقعاً به آن کمک می کند.
بیایید ببینیم فشرده سازی Brotli چگونه به شما کمک می کند تا دقیقا به دست آورید:
نسبت های فشرده سازی
Brotli به طور جدی در فشرده کردن دادهها بدون از دست دادن کیفیت خوب است. در مورد فشرده سازی فایلهای HTML، CSS و جاوا اسکریپت، حداقل ۲۰٪ بهتر از Zopfli و gzip است.
از هر جنبهای بهتر از دو مورد دیگر عمل میکند، میزان فشرده سازی دادهها، مدت زمانی که برای انجام این کار نیاز است، یا سرعت غیرفشرده شدن دادهها باشد. این بدان معناست که ما از پهنای باند کمتری استفاده میکنیم و سریعتر بارگذاری میشود، بنابراین همه چیز در سایت شما سریعتر از سایر گزینهها اجرا و بارگذاری میشود.
تصور کنید که دستهای از لباسها را در یک چمدان قرار میدهید، اما آنها به همان اندازه تمیز و آماده برای پوشیدن ظاهر میشوند – Brotli این کار را با دادههای شما انجام میدهد.
فرهنگ لغت جامع
Brotli دارای تجزیه مبتنی بر فرهنگ لغت است که آن را متمایز میکند.
این فرهنگ لغت شامل ۱۳۵۰۴ کلمه یا هجا از انگلیسی، اسپانیایی، چینی، هندی، روسی و عربی به همراه عبارات رایجی است که در زبانهای قابل خواندن ماشین مانند HTML و جاوا اسکریپت استفاده میشود.
با مجموع ۱۲۲۷۸۴ بایت، فرهنگ لغت ایستا پایه و اساس قابلیت های فشرده سازی Brotli را تشکیل میدهد.
پشتیبانی در سراسر مرورگرها
Brotli از پشتیبانی تقریبا جهانی در مرورگرهای مدرن برخوردار است، به این معنی که اکثر کاربران میتوانند از زمان بارگذاری سریعتر و فشرده سازی بهبود یافته بدون هیچ مشکلی بهره مند شوند.
چه کاربران شما از Chrome، Firefox، Safari یا Edge (تقریبا هر مرورگر مبتنی بر Chromium) استفاده میکنند، Brotli در حال حاضر یکپارچه شده است و در پشت صحنه کار میکند تا تجربه مرور آنها را روانتر و سریعتر کند.
Brotli برای محیطهای موبایل و پهنای باند کم
Brotli به ویژه برای دستگاههای تلفن همراه و موقعیتهایی با پهنای باند محدود مفید است.
Brotli چه یک شبکه 4G باشد و چه در یک منطقه دورافتاده با اتصال اینترنت ضعیف، با فشرده سازی داده ها به طور موثرتر کمک میکند و میزان اطلاعاتی که باید منتقل شود را کاهش میدهد.
این منجر به مصرف کمتر داده و زمان بارگذاری سریعتر میشود، و آن را به یک راهحل عالی برای کاربران با اتصال محدود و برای مشاغلی تبدیل میکند که به دنبال بهبود عملکرد و در عین حال صرفهجویی در هزینههای پهنای باند هستند.
رایگان و متن باز
Brotli رایگان و متنباز است، که اگر از CDN سازگار با Brotli مانند Cloudflare استفاده میکنید، یک مزیت بزرگ است.
کلودفلر فشرده سازی Brotli را در تمام سرورهای خود اعمال میکند، تحویل محتوا را بهینه نموده و سرعت و تحویل فایل را افزایش میدهد.
هاست وردپرس با وب سرور محبوب لایت اسپید و کش لایت اسپید باعث میشود تا سرعت لود فوق العادهای را تجربه کنید.
با خرید هاست وردپرس کانفیگ حرفهای و نظارت بر سرور به صورت پیوسته توسط تیم فنی پارسدِو انجام خواهد شد.
نحوه فعال کردن فشرده سازی Brotli
در این بخش، دو روش برای فعال کردن فشردهسازی Brotli را بررسی میکنیم.
روش ۱: Brotli را با استفاده از یک افزونه فعال کنید
یکی از روشهای فعال کردن Brotli استفاده از افزونه است. یکی از محبوبترین گزینهها W3 Total Cache است. مراحل زیر را انجام دهید:
- به پیشخوان وردپرس خود بروید
- به افزونهها > افزودن افزونه تازه بروید.
- W3 Total Cache را جستجو کنید.
- نصب و بعد فالسازی را بزنید.
- پس از فعال شدن، به افزونهها > افزونههای نصب شده بروید.
- به دنبال W3 Total Cache بگردید و روی تنظیمات کلیک کنید.
- در پانل سمت چپ، به Performance > Browser Cache بروید. در اینجا، گزینه فعال کردن فشرده سازی brotli را پیدا خواهید کرد.
با این حال، توجه به این نکته مهم است که برای فعال کردن brotli به نسخه پولی افزونه نیاز دارید.
اگر به دنبال یک روش رایگان هستید، دو روش زیر را در نظر بگیرید.
روش ۲: فشرده سازی Brotli را مستقیم روی سرور خود فعال کنید (Apache یا Nginx)
فعال کردن فشرده سازی Brotli در سرور شما به این معنی است که وب سرور خود را برای فشرده سازی محتوا با استفاده از Brotli قبل از ارسال آن به مرورگرهایی که از این روش فشرده سازی محتوا پشتیبانی میکنند، تنظیم نمائید.
اگر مدیر سرور هستید، احتمالا میدانید که چگونه فایلهای پیکربندی را ویرایش کنید. اما، اگر تجربهای در این فرآیند ندارید و از Apache یا Nginx استفاده میکنید، در این بخش مراحلی وجود دارد که انجام خواهید داد:
آپاچی
در اینجا مراحل فعال کردن فشرده سازی Brotli در سرور آپاچی آمده است:
مرحله ۱: ماژول Apache Brotli را فعال کنید:
به طور پیش فرض، ماژول Brotli گنجانده شده است اما ممکن است فعال نباشد.
برای فعال کردن آن، از دستور زیر استفاده کنید:
sudo a2enmod brotli
مرحله ۲: پیکربندی فایل پیکربندی میزبان وب:
فایل پیکربندی میزبان وب خود را ویرایش کنید تا مشخص کنید کدام فایلها باید فشرده شوند.
کد زیر را در بخش <IfModule mod_brotli.c> اضافه کنید:
AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript
مثال بالا انواع فایلهایی که باید فشرده شوند را نشان میدهد:
- HTML
- متن ساده
- CSS
- جاوا اسکریپت
ماژول Apache Brotli را فعال کنید و فایل پیکربندی میزبان وب را به روز نمائید تا مشخص کنید کدام نوع فایل باید فشرده شود.
Nginx
برای Nginx، در اینجا مراحل فعال کردن فشرده سازی Brotli وجود دارد:
مرحله ۱: فایل nginx.conf را پیدا کرده و ویرایش کنید:
فایل nginx.conf خود را که معمولا در پوشه /etc/nginx/ قرار دارد، پیدا کنید.
فایل را برای ویرایش باز کنید.
مرحله ۲: خطوط ماژول Brotli را اضافه کنید:
داخل فایل nginx.conf دو خط زیر را اضافه کنید:
load_module modules/ngx_http_brotli_filter_module.so; load_module modules/ngx_http_brotli_static_module.so;
این خطوط ماژول های ضروری Brotli را در Nginx بارگذاری می کنند.
مرحله ۳: فایل پیکربندی وب سایت را تغییر دهید:
فایل پیکربندی وب سایت خاص خود را که اغلب در دایرکتوری /etc/nginx/conf.d/ یا /etc/nginx/sites-available/ یافت می شود، پیدا کنید.
فایل پیکربندی را برای ویرایش باز کنید.
مرحله ۴: دستورالعملهای پیکربندی Brotli را اضافه کنید
داخل فایل پیکربندی وبسایت، خطوط زیر را اضافه کنید:
brotli on; brotli_static on; brotli_types *;
این دستورالعملها فشردهسازی Brotli را فعال میکنند، در صورت وجود، امکان ارائه فایلهای از پیش فشردهشده Brotli را فراهم و مشخص میکنند که فشردهسازی Brotli باید برای همه انواع فایل اعمال شود.
مرحله ۵: سرور Nginx را ریستارت کنید:
پس از انجام تغییرات، فایل های پیکربندی را ذخیره کنید.
وب سرور Nginx را مجددا راه اندازی کنید تا تغییرات اعمال شوند. می توانید با دستور زیر این کار را انجام دهید:
sudo service nginx restart or $ sudo systemctl restart nginx
پس از راه اندازی مجدد وب سرور، اگر مرورگر هدر Accept-Encoding را ارسال کند، با هدر Content-Encoding پاسخ میدهد.
این نشان می دهد که فشرده سازی Brotli فعال است و سرور محتوای پاسخ را بر این اساس فشرده می کند.
این روش میتواند چالش برانگیز باشد زیرا به آشنایی با فایل های پیکربندی سرور، عملیات خط فرمان (به ویژه برای سرورهای آپاچی)، دسترسی کاربر root با امتیازات sudo و احتمالا استفاده از ویرایشگر متن نیاز دارد. علاوه بر این، اعتبارنامه ورود به سیستم ممکن است به عنوان یک کاربر SSH مورد نیاز باشد.
نحوه تست فشرده سازی بروتلی
چندین راه آسان برای بررسی فعال بودن فشرده سازی Brotli در وب سرور شما وجود دارد. در اینجا چند روش ساده وجود دارد:
۱. از آزمون فشرده سازی بروتلی آنلاین استفاده کنید
یک ابزار عالی برای تست giftofspeed است. این ابزار فشرده سازی GZIP و Brotli را بررسی میکند.
URL وب سایت خود را وارد کنید و آزمایش به شما میگوید که آیا Brotli یا روش فشرده سازی دیگری فعال است یا خیر.
۲. هدر HTTP را با cURL بررسی کنید
همچنین می توانید از دستور cURL برای بررسی فعال بودن فشرده سازی Brotli در سرور خود استفاده کنید. این دستور درخواستی را به سرور ارسال و از Brotli پشتیبانی میکند.
در اینجا دستور cURL برای استفاده آمده است:
curl -LH "Accept-Encoding: br" -I https://website.com
اگر Brotli فعال باشد، پاسخ شامل خطی مانند زیر خواهد بود:
content-encoding: br
این تایید میکند که فشرده سازی Brotli فعال و در سایت شما کار میکند.
جمع بندی
این مطلب به شما کمک میکند تا الگوریتم فشرده سازی Brotli و نحوه بهره مندی از آن را درک کنید.شما همچنین دو روش مختلف برای فعال کردن آن در وب سایت خود یاد گرفتید یعنی از طریق یک افزونه، مستقیم روی سرور خود.