این روزها با پیشرفت تکنولوژی، وب هم عظمت بیشتری پیدا میکند و به همین منوال هر سال به وزن صفحه دسکتاپ نیز اضافه میشود. خوشبختانه مقیاس های ساده ای وجود دارند که توسعه دهندگان وب میتوانند مطمئن شوند که فایل ها در کم حجم ترین حالت خود به بازدیدکنندگانشان ارائه میشوند. یکی از این مقیاس ها فشرده سازی HTTP است. دو روش برای فشرده سازی وجود دارد. یکی Gzip و دیگری Brotli که میخواهیم در ادامه مطالبی را درباره هرکدام مطرح کنیم.
سرعت سایت رابطه مستقیمی با سئو سایت دارد در نتیجه بعد از طراحی سایت به هر روشی چه با وردپرس چه اختصاصی با ید به سرعت آن و دیگر موارد مورد نیاز بسیار توجه گردد. این موضوع در توسعه تجارت شما بسیار موثر است زیرا هدف از طراحی سایت، توسعه حرفه و کسب درآمد بیشتر است؛ وقتی کاربری نباشد سایت هم بیارزش تلقی خواهد شد. طراحی سایت فروشگاهی، خدماتی، شرکتی، صنعتی و ... همه نیاز به بهینه ساری دارند تا بتوانند توسعه پیدا کنند. حتی اگر طراحی سایت ارزان را انجام داده اید باید فکر سئوی سایت باشید. در ادامه به مواردی اشاره شده است که در سرعت سایت بسیار موثر است.
اول از همه اصلا فشرده سازی HTTP چیست؟
اگر بخواهیم به زبان ساده بگوییم، فشرده سازی به وب سرور این امکان را میدهد که فایل هایی با حجم کمتر را برای بازدیدکنندگان وبسایتتان ارسال کند. زمانی که فردی آدرس URL شما را وارد کرده و درخواست به سایت شما میفرستد، مرورگر آن ها به سرور وب نشان خواهد داد که فشرده سازی و نوع آن را نیز متوجه میشود. این فایل های فشرده امکان انتقال سریع تر شبکه را فراهم می کند تا وب سایت شما در سریع ترین زمان ممکن بارگیری شود. فشرده سازی تقریباً در حال حاضر عملکرد استاندارد وب است، بنابراین شما کاملا می خواهید مطمئن شوید که از مزیت های آن استفاده می کنید. خوشبختانه این فشرده سازی تقریباً به طور جهانی توسط سرورهای وب و همه ی مرورگرهای مدرن پشتیبانی می شود و تنظیم آن نیز بسیار آسان است.
فشرده سازی Gzip
Gzip برای سال ها روش فشرده سازی پیشرفته بوده و تا 70٪ حجم را کاهش داده و پشتیبانی تقریباً جهانی را ارائه می دهد. Gzip با کاهش بسیار زیاد میزان کد تکراری و فضای سفید در پرونده های یک وب سایت کار می کند. همچنین 9 سطح فشرده سازی را ارائه می دهد، بنابراین می توان میزان فشرده سازی و مدت زمان فشرده سازی را به خوبی تنظیم کرد.
چگونه میتوان Gzip را فعال کرد؟
افزودن Gzip به سایت شما براساس ارائه دهنده میزبانی و وب سرور شما متفاوت خواهد بود. اگر از سرور Apache استفاده می کنید کد زیر را می توان به فایل .htaccess اضافه کرد. بسته به سایت خاص شما، انواع فایل دیگری وجود دارد که می توانید اضافه کنید؛ مانند قلم ها، تصاویر SVG و غیره.
پس از تنظیم همه موارد برای اینکه مطمئن شوید که سایتتان فشرده شده است، روش های زیادی وجود دارد که میتوانید آزمایش کنید. بیشتر ابزارهای کنترل سرعت صفحه، برای شما خطایی را ارسال خواهند کرد و به شما اطلاع میدهند که که سایت شما فشرده نشده است، گرچه ابزاری از Varvy بسیار پرطرفدار است زیرا به شما نشان می دهد چه مقدار از صفحه از طریق فشرده سازی ذخیره شده است.
برای کسانی که با وردپرس کار میکنند، روش های که اشاره شد به خوبی میتواند برایشان کارایی داشته باشد. با این حال آن ها میتوانند از پلاگین های مختلفی استفاده کنند که این کارها را نیز انجام خواهند داد. بسیاری از پلاگین های حافظه پنهان (caching) مثل WPRocket نیز فشرده سازی Gzip را خارج از جعبه ارائه می دهند. به دلیل سهولت در تنظیم، فشرده سازی چشمگیر و فشرده سازی سریع، Gzip همچنان گزینه خوبی برای پیشرفت است. با این حال به تازگی یک رقیب جدید پشتیبانی گسترده مرورگر را به دست آورده است که میتواند یک گزینه عالی در نظر گرفته شود. این رقیب جدید Brotli میباشد.
فشرده سازی Brotli
Brotli در سال 2013 توسط گوگل ایجاد شد، یک الگوریتم فشرده سازی است که توسط Google برای فشرده سازی فونت های وب ایجاد شده است. در سال 2015 ، آن ها نسخه ای را برای استفاده برای فشرده سازی HTTP منتشر کردند. برای استفاده از Brotli، باید مطمئن شوید که برای استفاده از آن از گواهی SSL استفاده می کنید. Brotli یک مزیت سرعتی قابل توجه نسبت به Gzip ارائه می دهد به همین دلیل مناظره این دو افزایش پیدا کرده است.
مطابق با Certsimple:
- فایل های جاوا اسکریپت هایی که با Brotli فشرده سازی میشوند، %14 کوچک تر از gzip میباشند.
- فایل های HTML 21% کوچک تر از gzip هستند.
- فایل های CSS 17% کوچک تر از gzip هستند.
چگونه باید Brotli را پیاده سازی کرد:
اگرچه می توانید از وب سرور بخواهید که فایل هایتان را فوراً فشرده کند، اما این بهترین گزینه نیست. این میتواند CPU فشرده باشد. بهترین روش این است که پرونده های خود را از قبل فشرده کرده و در کنار پرونده های معمولی خود قرار دهید. به این ترتیب با تشخیص اینکه مرورگر دریافت کننده از Brotli پشتیبانی می کند، سرور می تواند انتخاب کند که آنها را ارسال کند. جالب است بدانید که اگر از CDN مانند Cloudflare استفاده می کنید، میتوانید فایل های فشرده شده Brotli را با یک سوییچ کردن سرویس دهید. این مورد بسته به CDN، به هزینه اضافی نیر نیاز دارد.
موارد قابل توجه دیگری که باید در نظر گرفت:
هنگامی که فشرده سازی HTTP را انجام میدهید، بسیار مهم است که توجه داشته باشید چه چیزی باید فشرده شود و چه چیزی نباید. تصاویر (JPG ، PNG ، WEBP و غیره) از قبل فشرده شده اند و بنابراین نمی توانند دوباره فشرده شوند. گرچه ممکن است فکر کنید تلاش برای فشرده سازی دوباره آنها بی ضرر است، اما اشتباه می کنید. تلاش کردن برای دوباره فشرده سازی فایل ها، از نیروی CPU استفاده کرده و این یک کار بیهوده است؛ و با اضافه کردن سرصفحه ها، دیکشنری های فشرده سازی و چک باکس ها در واقع فایل ها را بزرگ تر میکند.
برعکس شما می خواهید مطمئن شوید که همه چیزهایی را که می توانید فشرده کنید را فشرده می کنید. بعضی از توسعه دهندگان فقط فشرده سازی را به سه مورد بزرگ (HTML ، CSS ، JavaScript) اضافه می کنند. این کار بسیاری از انواع پرونده هایی که ممکن است در سایت شما شامل شوند مانند JSON ، XML ، SVG و متن ساده را نادیده می گیرد.
از دیگر تفاوت های Gzip و Brotli
- Brotli بیشتر برای ارائه محتوای ثابت مانند صفحات HTML و قلم ها مناسب است. همچنین 11 تنظیم کیفیت از پیش تعیین شده دارد و از 1 تا 11 برچسب گذاری شده است. Gzip پرکاربردترین الگوریتم فشرده سازی در اینترنت است. برخلاف Brotli، Gzip اغلب برای فشرده سازی صفحات وب، بایگانی های Tar و پرونده های متنی استفاده می شود.
- Gzip دارای 9 تنظیم کیفیت از پیش تعیین شده است و از 1 تا 9 برچسب گذاری شده است. برنامه های معروف مانند وردپرس از Gzip خارج از جعبه پشتیبانی می کنند و کاربران می توانند به راحتی وب سایت های خود را با چند کلیک فشرده کنند.
مزایا و معایب Gzip و Brotli
-
اندازه فشرده سازی
بهترین مزیت Brotli نسبت به Gzip این است که فایلهای HTML ، CSS و JavaScript فشرده شده با آن از Gzip کوچکتر هستند؛ اما برای فشرده سازی جریان داده ها کمتر مناسب است زیرا در عملکرد فشرده سازی در مقایسه با Gzip کمی کندتر است.
-
پشتیبانی از مرورگر
متأسفانه یکی از معایب اصلی Brotli در رابطه با پشتیبانی مرورگر است. آن توسط همه مرورگرها پشتیبانی نمی شود. مرورگرهای اصلی پشتیبانی از Brotli شامل Google Chrome 49+ ، Mozilla Firefox 44+ ، Opera 36+ و غیره هستند. از طرف دیگر Gzip از دهه 1990 در این صنعت فعالیت می کند. آن برای همه مرورگرها مناسب است و مدت زمان انتقال را کوتاه می کند. اما می تواند فقط پرونده های معمولی را فشرده کند.
-
تنظیمات سرور وب
برای اینکه Brotli کار کند به تغییرات پیکربندی در سمت سرور نیاز دارد. برخلاف gzip که به صورت استاندارد در همه وب سرورهای اصلی وجود دارد، شما باید Brotli را در سرور فعال کنید. خوشبختانه گوگل افزونه Brotli را برای وب سرور NginX ارائه می دهد. به همین ترتیب Apache همچنین پسوند Brotli خود را دارد.
با این حال پسوند Brotli برای دستیابی به بهترین عملکرد نیاز به تغییر پارامترها دارد. برای کاربران سرور ویندوز ممکن است Brotli بهترین انتخاب نباشد زیرا سرور IIS به طور رسمی از آن پشتیبانی نمی کند. با توجه به این نکات، سرورهای دارای پشتیبانی Brotli باید فشرده سازی gzip را نیز حفظ کنند. این به سرور وب کمک می کند تا درخواست های وب سایت های غیر براتلی را نیز پشتیبانی کند.
با در نظر نگه داشتن تمام این نکات مطمئن خواهید شد که کمترین حجم فایل ممکن را داشته و بازدیدکنندگان خود را راضی نگه خواهید داشت. Gzip و Brotli هردو هم مزیت ها و هم معایب خاص خود را دارند. این بسته به سلیقه شما دارد که با توجه به کارایی های هرکدام، یکی از آن ها را انتخاب کنید. بعد از طراحی وب سایت، تمام موارد مورد نیاز آن را رعایت کنید.
اولین نفری باشید که نظر می دهد!