یکی از خطاهایی که هنگام بررسی سرعت سایت با GTmetrix مشاهده میکنیم، خطای “Make fewer HTTP requests” در Yslow جیتیمتریکس است.
این خطا به دلیل بالا بودن تعداد درخواستهای HTTP رخ میدهد. همانطور که از معنای “Make fewer HTTP requests” پیداست، اگر با این خطا مواجه شدید، به این معناست که تعداد زیادی درخواست برای لود فایلهای مختلف مانند png، css، js و سایر منابع در سایت شما ارسال میشود.
هر فایلی که در صفحه استفاده میکنید، به معنای یک درخواست HTTP است که باید به سرور ارسال شود. اگر تعداد این درخواستها از حد متعارف بیشتر باشد، “Make fewer HTTP requests” به شما هشدار میدهد که این میتواند باعث کندی سایت شود و با افزایش بازدیدها، مشکلات بیشتری مانند کندی سرعت یا حتی عدم پاسخگویی سرور ایجاد کند.
در این آموزش، هدف اصلی ما این است که راهکارهایی برای کاهش تعداد درخواستهای HTTP ارائه دهیم تا بتوانید “Make fewer HTTP requests” را در سایت خود عملی کنید. کاهش هرچه بیشتر تعداد درخواستها نهتنها به کاهش خطای “Make fewer HTTP requests” کمک میکند بلکه باعث میشود درگیری سرور کمتر شود و سرعت سایت بهبود یابد.
با پیادهسازی این راهکارها، میتوانید خطای “Make fewer HTTP requests” را برطرف کنید و سایت خود را برای کاربران بهینهتر سازید.
وقتی درخواست بازدید از سایت در مرورگر ارسال میشود، مرورگر با کمک شرکت ارائهدهنده اینترنت (ISP)، شروع به یافتن IP سرور میکند. پس از این مرحله، سایت شما که با دامنه مرتبط است، این درخواست را دریافت کرده و پس از بررسی، شروع به پاسخدهی میکند. پاسخدهی شامل لود و ارسال فایلهایی است که در یک صفحه قرار دارند.
در این مرحله، درخواستها به صورت HTTP ارسال میشوند. ابتدا صفحه به صورت HTML بارگیری میشود و سپس مرورگر پس از کامپایل و بررسی این سند HTML، شروع به لود فایلها و محتوای داخلی میکند. در اینجا است که فایلهای مختلفی مانند جاوا اسکریپت، CSS، تصاویر، فونتها و دیگر منابع بهنوبت بارگذاری میشوند. اما برای هر یک از این فایلها یک درخواست HTTP جداگانه به سرور ارسال خواهد شد.
بنابراین، “Make fewer HTTP requests” به عنوان یک هشدار نشان میدهد که با افزایش تعداد درخواستهای HTTP، مدت زمان بارگذاری سایت نیز بیشتر میشود. اگر این وضعیت را در مقیاس بزرگتری در نظر بگیریم و تعداد زیادی از کاربران بهصورت همزمان از سایت بازدید کنند، تعداد درخواستهای HTTP از سرور ممکن است به میلیونها درخواست برسد. این وضعیت میتواند فشار زیادی به سرور وارد کند.
اگر تعداد درخواستها برای هر صفحه بسیار بالا باشد، سرور به دلیل درگیر شدن بیش از حد، ممکن است دیگر توانایی پاسخگویی به تمام این درخواستها را نداشته باشد. افزایش تعداد درخواستهای همزمان نیز میتواند باعث کاهش سرعت سایت و در نهایت، از دسترس خارج شدن سایت شود. در نتیجه، کاهش تعداد درخواستهای HTTP اهمیت زیادی دارد. برای جلوگیری از بروز خطای “Make fewer HTTP requests” و بهبود عملکرد سایت، میتوان از ترفندها و راهکارهای مختلفی استفاده کرد که در ادامه به توضیح آنها خواهیم پرداخت.
بهترین روشی که میتونه در سطح خوبی پاسخگو باشه اینه که فایلهای مشترک رو با هم ادغام کنید. یعنی فایلهای CSS، JS با همدیگه ترکیب بشن و تا جای ممکن در قالب یک فایل قرار بگیرند. در این صورت به جای اینکه چندین درخواست برای لود کلیه فایلهای استایل سایت که به صورت CSS هستند ارسال بشه، یک بار این درخواست ارسال شده و از طریق یک فایل کل محتوای مربوط به فایل CSS سایت دریافت میشه.
استفاده از این روش هم به این معنی هست که حجم فایلها رو با استفاده از تغییرات کدنویسی یا ابزار آنلاین که وجود دارند به کمترین حد ممکن برسونید. در این صورت فایلها از حجم کمتری برخوردار خواهند بود و زمانی که درخواستی برای لود فایل ارسال میشه نسبت به حجم اولیه سریعتر لود شده و سرور میتونه بعد از اینکه فایل رو به صورت کامل در اختیار مرورگر قرار داد به دنبال درخواستهای دیگه بره.
اگر تعداد تصاویری که در سایت به صورت ثابت هستند و عموما شامل شبکههای اجتماعی یا لینک کردن به صفحه خاصی هستند رو بیایم و با ترکیب کردنشون در قالب یک تصویر با استفاده از CSS اونها رو با ساختار بهینه تری نمایش بدیم. تو این حالت وقتی یک تصویر رو نشون میدین میتونید به کمک CSS ناحیه دلخواه رو برای نمایش تصاویر کوچکتر مشخص کنید تا سایر بخشها مخفی باشند.
استفاده از کش هم میتونه انتخاب خوبی باشه تا برای مدت زمانی که مشخص میکنید دیگه هر درخواستی که برای فایلها ارسال میشه به جای لود مستقیم از طریق سرور، از حافظه کش شده مرورگر کاربر دریافت بشه. در این صورت تا زمانی که فایلها به صورت کش شده در سیستم کاربران قرار دارند درخواستی برای لود فایل از سرور ارسال نخواهد شد و این مسئله میتونه به بهترین شکل ممکن تعداد درخواست HTTP در سایت رو کم بکنه.
تو این حالت اگر فایلهای CSS و JS دارید که دارای کدهای کوتاه و حجم کمتری هستند، میتونید به جای استفاده جدا جدا اونها رو با هم ادغام کنید و یا اینکه به صورت درون خطی تو هر بخش از سایت که بهشون نیاز دارید استفاده کنید. به عنوان نمونه ممکنه شما در یک برگه خاص مثل صفحه فرو از کدهای CSS و JS استفاده کنید که تو هیچ صفحه دیگهای از سایت بهشون نیازی ندارید. بنابراین میتونید این کدها رو مستقیما داخل همون صفحه وارد کنید. در این صورت دیگه فایلهای استایل و جاوا اسکریپت که به صورت ثابت هستند حجم بالایی نخواهند داشت.
هنگامی که وارد سایتی میشوید که از جاوااسکریپت استفاده میکند، مرورگر باید کلیه فایلهای JS را بخواند و پس از اجرای آنها، بر پایه کدنویسی این فایلها، سایت را به شما ارائه دهد. در برخی موارد، سایتها با کمک همین جاوااسکریپت تلاش میکنند تغییراتی را در فایلهای استایل اعمال کنند که در این صورت، چنانچه فایل جاوااسکریپت زودتر لود شده باشد، برای اجرای دستوراتی که به آن محول شده است.
باید فایل CSS پیش از آن لود شده باشد. در غیر این صورت، این کار به درستی انجام نمیگیرد و پس از لود فایل CSS، ممکن است فایل جاوااسکریپت دوباره از سرور درخواست شود تا دستوری که برای تغییر فایلهای استایل دارد را اجرا کند که این حالت باعث دو بار درخواست “Make fewer HTTP” برای فایل جاوااسکریپت خواهد شد.
بنابراین، بهتر است فایلها را در جایی لود کنیم که در آخرین لحظه از سرور درخواست خواهند شد. بهترین مکان برای این کار، فوتر سایت است که میتوانید لود فایلهای JS را در آخرین مرحله بارگذاری سایت انجام دهید.
این کار هم زمانی اتفاق میفته که شما یک فایل رو از طریق دو آدرس استفاده کنید. معمولا تو این حالت فایلهای css و JS قرار دارند که در انتهای آدرس فایلها ?ver= قرار داره و برای اینکه بتونید درخواستهای تکراری رو برطرف کنید باید این حالت رو در سایت غیرفعال کنید. که برای این کار کافیه روی دکمه زیر کلیک کرده و از مقاله مرتبط با این کار استفاده کنید.
خطای Make fewer HTTP requests یکی از مهمترین عوامل تأثیرگذار بر سرعت سایت است که نشاندهنده بالا بودن تعداد درخواستهای HTTP از سمت سرور میباشد. هرچه تعداد این درخواستها بیشتر باشد، سرور زمان بیشتری برای پاسخگویی به آنها نیاز دارد که منجر به کند شدن سرعت بارگذاری سایت میشود. با کاهش تعداد درخواستها از طریق روشهایی مانند ادغام فایلهای CSS و JS، استفاده از کش سایت، یا لود جاوااسکریپت در فوتر، میتوان بهطور مؤثری خطای Make fewer HTTP requests را برطرف کرد.
کاهش تعداد درخواستهای HTTP از سرور، نهتنها سرعت بارگذاری صفحات را بهبود میبخشد بلکه فشار وارده بر سرور را کاهش داده و به عملکرد بهینهتر سایت در بازدیدهای بالا کمک میکند. بنابراین، توجه به Make fewer HTTP requests و استفاده از راهکارهای مناسب، کلید اصلی در بهبود سرعت و تجربه کاربری سایت است.
شبکه های ارتباطی در طی چند دهه اخیر دچار تحولات بنیادینی شده اند. در آغاز،…
مایکروسافت با انتشار نسخه ی ویندوز سرور 2025، یک بار دیگر ثابت کرده که در…
حملات DDoS (Distributed Denial of Service) یکی از پیچیدهترین و مخربترین تهدیدات سایبری برای وبسایتها…
PyTorch یک چارچوب ماشین لرنیگ اوپن سورس پرکاربرد است که به دلیل سهولت استفاده، نمودار…
اگر شما یک شخص، یک کسب و کار کوچک یا یک شرکت تجاری باشید که…
Ansible برای مدیران سیستم و متخصصان DevOps که می خواهند روند کار IT خود را…