- 1,713 بازدید
- بدون نظر
یکی دیگه از خطاهای رایج که در هنگام تست سرعت سایت با GTmetrix باهاش مواجه میشیم با عنوان Use GET for AJAX requests نمایش داده میشه که مربوط به استفاده از آجاکس در سایت هست. قبل از اینکه فناوری استفاده از Ajax وارد حوزه وب بشه، برای اینکه تغییراتی رو در صفحه بعد از لود شدن اعمال کنند، مجبور بودند که با استفاده از زبانهای برنامه نویسی این درخواستها رو استفاده کنند که در این حالت صفحه وب مجددا شروع به لود شدن میکرد و از نو درخواستها برای لود صفحه از سرور انجام میگرفت تا درخواست کوچکی که داخل صفحه وجود داشت اجرا بشه. این کار باعث بالا رفتن تعداد درخواست HTTP ومصرف بالای منابع هاست میشد. این شد که فناوری آجاکس وارد حوزه برنامه نویسی شد.
در این آموزش از ایکس اسکریپت قصد دارم به نحوه برطرف کردن خطای Use GET for AJAX requests در GTmetrix بپردازم که با استفاده ازش میتونید نسبت به بهینه کردن درخواستهای آجاکس در سایت بپردازید و این خطا رو برطرف کنید.
آموزش رفع خطای Use GET for AJAX requests در GTmetrix
همونطور که میدونید با استفاده از قابلیت Ajax میتونیم بدون اینکه نیاز باشه صفحات سایت رو از نو لود کنیم، محتوای دلخواه رو در حالت پس زمینه به کاربران نشون بدیم. یعنی اگر از آجاکس استفاده کنید، برای نشون دادن یک محتوای خاص نیازی به لود مجدد صفحه نیست و درخواستها به صورت پس زمینه از سمت سرور دریافت میشن. توی این حالت روند پاسخدهی از سرور به صورت بهینهتری هست و اگه به درستی از آجاکس استفاده کنید، صفحات با سرعت خیلی بهتری لود خواهند شد.
درخواستهای آجاکس در دو حالت GET و POST هستند که استفاده از هر دو این درخواستها مزایا و معایب خاص خودش رو داره. تفاوت اصلی که باعث بهبود سرعت سایت در استفاده از متدهای POST و GET در آجاکس میشه در نحوه ارسال هست. در صورتی که درخواست به صورت POST باشه ابتدا به صورت یک HTTP request در Header ارسال میشه و سپس سرور به این درخواست پاسخ میده. در حالتی که در روش GET هر دو این مرحله با هم انجام خواهند شد.
وقتی خطای Use GET for AJAX requests در تست سرعت سایت پیش میاد در واقع از شما خواسته میشه که به جای استفاده از متد POST برای درخواستهای آجاکس از متد GET استفاده کنید. این کار باعث میشه که سایت شما بخاطر اینکه درخواستها رو به طور همزمان در یک مرحله پردازش میکنه سرعت بهتری داشته باشه.
تفاوت متد POST و GET در آجاکس
- استفاده از دکمههای بازگشت و رفرش در متد GET بی اثر است در صورتی که در متد POST باعث از دست رفتن اطلاعات میشود که باید درخواست را مجددا از ابتدا دنبال کنید.
- امکان بوکمارک کردن صفحه در متد GET وجود دارد در صورتی که در متد POST نمیتوان صفحات را ضمن ذخیره کردن اطلاعات بوکمارک کرد.
- امکان استفاده از کش در متد GET وجود دارد اما در متد POST نمیتوان از کش استفاده کرد.
- امکان ذخیره شدن دادهها در متد GET وجود دارد در صورتی که در متد POST نمیتوان تاریخچه را ذخیره کرد.
- حداکثر اندازه برای دادهها در متد GET روی 2048 کاراکتر قرار دارد که در URL اضافه میشوند، در صورتی که در متد POST با محدودیت مواجه نیستید.
- نوع دادهها در متد GET صرفا از نوع اسکی است در صورتی که در متد POST محدودیتی وجود ندارد و به صورت باینری استفاده میشوند.
- امنیت در متد GET به دلیل کش شدن و ذخیره دادهها از طریق URL پایین است اما در متد POST امنیت بالا است و علاوه بر این دادهها هم در تاریخچه مرورگر و لاگ سرور ذخیره نمیشوند.
- اطلاعات در متد GET از طریق آدرس قابل مشاهده هستند در صورتی که در متد POST نمیتوان آنها را مشاهده کرد.
حال که با مزایا و معایب متدهای GET و POST در AJAX آشنا شدید برای استفاده از آجاکس سعی کنید از متد GET استفاده کنید که از نظر جیتیمتریکس برای بهینه سازی سایت مناسبتر هست.
امیدوارم که این آموزش هم مورد توجه و پسند شما قرار گرفته باشه 🙂 و با استفاده ازش تونسته باشید اقدام به رفع خطای Use GET for AJAX requests در Yslow جی تی متریکس بکنید. در صورتی که در رابطه با این آموزش سوال یا مشکلی داشتید در بخش دیدگاهها اعلام کنید.