سلام همراهان عزیز میزفا
از مجموعه مقالات آموزش جی تی متریکس و از سایت میزفا همراه شما هستیم. تو جلسه ۴۶ درباره برطرف کردن ارور Use explicit width and height on image elements صحبت کردیم و در این جلسه به آموزش رفع خطای Use HTTP/2 for all resources در جی تی متریکس میپردازیم. این ارور مربوط به استفاده از نسخه HTTP/2 بهجای HTTP/1.1 هست که البته به ندرت در سایتها دیده میشه و امیدواریم که سایت شما هم چنین خطایی رو نداشته باشه. در ادامه به شما میگیم HTTP/2 چیست و چه تفاوتی با HTTP/1.1 داره.
لطفا تا پایان همراه میزفا باشید.
سرفصلهای پست
خلاصه خطای Use HTTP/2 for all resources
میزان سختی: ***
روی چه مواردی تاثیر میذاره: معیار First Paint
علت ایجاد خطای Use HTTP/2 for all resources چیست؟
قبل از اینکه بتونیم علت ایجاد خطای Use HTTP/2 for all resources رو درک کنیم، لازمه کمی با HTTP آشنا بشیم. Hypertext Transfer Protocol یا همون HTTP پروتکلی هست که قدمتش به زمان راه اندازی World Wide Web یعنی سال ۱۹۸۹ برمیگرده. این پروتکل اطلاعات، دادهها و منابع رو بین مرورگر کاربر و یک وبسرور رد و بدل میکنه. نسخه HTTP/1.1 که در سال ۱۹۹۷ معرفی شده بود، تا مدتها بدون تغییرات اساسی به کارش خودش (یعنی تبادل اطلاعات بین مرورگر و سرور) ادامه میداد و اصلاحات زیادی نداشت. تا اینکه در سال ۲۰۱۵ نسخه HTTP/2 ارائه شد که باعث بهینه سازی سرعت سایت بهطور اساسی میشد. ارور Use HTTP/2 for all resources در جی تی متریکس هم میگه برای تمام منابع از نسخه HTTP/2 استفاده کنید.
HTTP/2 چیست؟
اصولا نسخه HTTP/1.1 محدودیتهایی داره که HTTP/2 اونها رو برطرف کرده. یکی از مهمترین این موارد محدودیت درخواستهای موازی هست که تو نسخه HTTP/2 این محدودیت کمتره. بنابراین استفاده از HTTP/1.1 باعث میشه سرور تراکم و شلوغی بیشتری داشته باشه و این باعث کاهش سرعت لود صفحه و تجربه کاربری (UX) ضعیف میشه. بنابراین استفاده از HTTP/2 و برطرف کردن ارور Use HTTP/2 for all resources باعث افزایش سرعت سایت میشه. البته تفاوت بین استفاده از این ۲ نسخه مقدار زیادیه و حتی گفته میشه استفاده از HTTP/2 تا ۵۰٪ باعث باعث افزایش سرعت سایت میشه. با استفاده از این نسخه، در هر بار اتصال (Connection) تعداد درخواستهای بیشتری میتونه ایجاد بشه. من خودم تفاوت بین این ۲ نسخه رو مثل تفاوت بزرگراه و خیابون معمولی داخل شهر میدونم. تو بزرگراه لاینهای بیشتری وجود داره و برای تعداد اتومبیلهای یکسان، احتمال ایجاد ترافیک کمتره و این باعث افزایش سرعت حرکت میشه.
استفاده از HTTP/2 برای سایتهایی که تعداد درخواست (Request) بیشتری دارند، ضروریتره. همچنین خوبه که بدونید این نسخه از اولویت بندی درخواستها هم پشتیبانی میکنه.
چطور خطای Use HTTP/2 for all resources را برطرف کنیم؟
تا اینجا سعی کردم در این مقاله میزفا درباره اینکه HTTP/2 چیست و اهمیت استفاده از HTTP/2 بگم تا قانع بشید استفاده از اون بهجای HTTP/1.1 اثر زیادی در بهینه سازی سرعت سایت داره. اما درباره رفع خطای Use HTTP/2 for all resources در جی تی متریکس پیشنهاد میشه اول بررسی کنید آیا این خطا در صفحات شما وجود داره یا نه. چون در بیشتر پروژه های سرعت سایت میزفا میبینیم که سایتها این خطا رو ندارند. با کلیک روی این خطا در منوی Structure جی تی متریکس میتونیم بررسی کنیم منابع ما از HTTP/1.1 استفاده میکنند یا HTTP/2. البته معمولا GTmetrix دامنههای third-party که از HTTP/1.1 استفاده کنند رو مد نظر قرار نمیده و فقط منابع دامنه خودمون رو بررسی میکنه که از کدوم نسخه HTTP استفاده میکنند. با استفاده از ابزارهای زیر هم میتونید بررسی کنید از کدوم نسخه HTTP استفاده میکنید:
اما اگه مشکل Use HTTP/2 for all resources رو داشته باشید، پیشنهاد میشه به هاستتون تیکت بزنید و موضوع رو باهاشون درمیون بذارید. چرا که این مشکل باید از سمت هاست برطرف بشه. البته همونطور که اشاره کردیم، بیشتر هاستینگها از HTTP/2 استفاده میکنند و کمتر این مشکل در جی تی متریکس جدید دیده میشه.
البته با استفاده از پنل غیررایگان Cloudflare هم میشه این مشکل رو حل کرد. چرا که Cloudflare در کنار خیلی از مزیتهایی دیگهای که داره، بدون در نظر گرفتن نوع وبسرور شما از HTTP/2 پشتیبانی میکنه. اگه درباره کلود فلر اطلاعات زیادی ندارید، آقای اسماعیلی تو مقاله Cloudflare چیست همه چیز رو درباره این CDN و روش نصب اون توضیح داده.
جمع بندی
در این مقاله میزفا درباره روش رفع ارور Use HTTP/2 for all resources در GTmetrix صحبت کردیم. ما درباره اینکه HTTP/2 جیست و چه مزیتی نسبت به HTTP/1.1 داره گفتیم. امیدوارم این آموزش برای شما مفید بوده باشه. تو جلسه بعدی درباره خطای Use passive listeners to improve scrolling performance صحبت میکنیم.
اگه سوالی دارید در قسمت نظرات (پایین همین صفحه) بپرسید تا با کمال میل پاسخگوی شما عزیزان باشیم.
2 پاسخ
سلام من ویدیو هایی رو که از آپارات، نماشا و… از طریق embed کد فراخونی میکنم این ارور رو میبینم، به نظرتون چطور باید این مسئله رو حل کرد؟
سلام امیررضا
این مسئله مربوط به سرور آپارات میشه و ما نمیتونیم کار خاصی انجام بدیم. اگه بخوایم مشکل رو کاملا حل کنیم، باید از ویدئوهای آپارات استفاده نکنیم.
ممکنه با استفاده از لود تنبل برای ویدئوها اثر منفی این مشکل کمتر بشه.
موفق باشی