راهکارهای میزبانی وب و دامنه

نوشته‌ی Hosein
  • 30 جولای 20
  • آموزش سئو, عمومی

رفع خطای Use GET for AJAX requests در GTmetrix

وب‌سایت جی‌تی‌متریکس که ابزاری است در خدمت وب‌مستران برای ارزیابی سرعت وب‌سایت‌ها، که پس از بررسی سایت موردنظر، نمره‌ای بین ۱ تا ۱۰۰ را بر اساس فاکتورهای سرعت، به سایت می‌دهد. در برخی موارد پیش می‌آید، بعضی از فاکتورها نمره بسیار پایینی را دریافت می‌کنند که این مسئله سرعت بارگذاری وب سایت را کم می‌کنند که قاعدتا یان موضوع این مطلوب نخواهد بود. به فاکتورهایی که نمره بدی را دریافت می‌کنند، اصطلاحا خطا می‌گویند که باید برای بهینه‌تر شدن سرعت وب‌سایت آن‌ها را رفع کنیم. در این مقاله به یکی از خطاهای رایج، موسوم به Use GET for AJAX requests خواهیم پرداخت که تاکنون وب مستران زیادی در وبسایت جی‌تی‌متریکس، با آن رو‌به‌رو شده‌اند.

AJAX چیست؟

برای اینکه بهتر بتوانید این خطا را درک کنید و سپس آن رفع نمایید، ابتدا باید بدانید که ajax چیست و چه کاربردی دارد؟

کلمه ajax از مخفف عبارت Asynchronous JavaScript And XML گرفته شده است. به طور خلاصه و مختصر اگر بخواهیم ajax را تعریف کنیم، روشی است که بدون لود شدن دوباره صفحه، برخی از اطلاعات صفحه بروز می‌شود. برای مثال از کاربرد ajax می‌توان به گوگل اشاره نمود. زمانی که در گوگل کلمه‌ای را تایپ می‌کنید همان لحظه بدون بارگذاری دوباره صفحه، اطلاعات برای سرور ارسال می‌شود و گوگل حدس خود را به شما نمایش می‌دهد.

رفع خطا gt metrix

Ajax یک زبان برنامه‌نویسی مستقل نیست، بلکه مفهومی است که با به کاربردن آن در کدها، می‌توان بخشی از اطلاعات را بدون نیاز به رفرش نمودن صفحه، به سرور فرستاد تا اطلاعات مربوط در صفحه به‌روزرسانی شود.

vرفع خطا جی تی متریکس

استفاده از Ajax در فریم ورک یا کتابخانه جی کوئری که یکی از فریم ورک‌های زبان قدرتمند جاوا اسکریپت است بسیار ساده و آسان است. بسیاری از شرکت‌ها و وب‌سایت‌های مهم همچون گوگل، فیسبوک، آمازون و … از این تکنولوژی Ajax بهره می‌برند.

آموزش رفع خطای Use GET for AJAX requests در جی‌تی‌متریکس

حالا که با ajax آشنایی پیدا کردید و می‌دانید چرا و به چه دلیل از ajax استفاده می‌شود، می توانید به رفع خطای Use GET for AJAX requests در وب سایت GTmetrix.com بپردازید.

در خواست‌هایی که از طرف ajax انجام می‌گیرد به طور کلی به دو صورت GET و POST صورت می‌پذیرد که این دو حالت دارای معایب و مزایای خاص خود هستند. تفاوتی که در این دو حالت وجود دارد نحوه ارسال درخواست به سمت سرور است. توجه داشته باشید، در خواستی که به صورت post به سرور ارسال شود اول HTTP request در هدر ارسال شده و سرور پس از دریافت به آن پاسخ می‌دهد. اما در روش get دو مرحله بالا یعنی در خواست HTTP request و پاسخ از سمت سرور با یکدیگر و بسیار سریع انجام خواهد شد.

معمولا زمانی که شما در وب سایت جی تی متریکس با خطای Use GET for AJAX requests مواجه می شوید، این سایت از شما می‌خواهد به جای استفاده از تکنولوژی ajax به صورت post از آن به صورت get استفاده نمایید. به این دلیل که با استفاده از ajax با حالت get وب سایت شما درخواست‌ها را در یک زمان واحد مورد پردازش قرار می‌دهد و همین کار باعث بهینه‌تر شدن سرعت وب‌سایت شما خواهد شد.

تفاوت دو حالت GET و POST در تکنولوژی AJAX

زمانی که از متد یا حالت get استفاده می‌کنید، استفاده از رفرش کاملا بدون تاثیر است و متقابلا در متد post، رفرش باعث می‌شود تمامی اطلاعات از دست برود و درخواست‌ها دوباره خواسته شود. کش مرورگر که در بهینه شدن سرعت سایت تاثیر دارد، در حالت post به هیج وجه کاربرد ندارد؛ اما در حالت get ممکن و برقرار است. همچون کش مرورگر، امکان بوکمارک نمودن در حالت get امکان پذیر بوده و برعکس نیز در حالت post غیر ممکن خواهد بود.

با تنظیم تکنولوژی ajax بر روی حالت get داده‌ها می‌توانند ذخیره شوند؛ اما در حالت post داده قابلیت ذخیره شدن ندارد. از سوی دیگر داده‌ها برای قرارگیری در متد get دارای محدودیت ۲۰۴۸ کاراکتری هستند که بر url اضاف خواهد شد؛ اما در متد post با هیچ محدودیت کاراکتری مواجه نخواهند بود.

داده‌هایی که در متد get مورد استفاده می‌شوند با عنوان “اسکی” استفاده  می‌شوند؛ اما در متد post علاوه بر عدم محدودیت با عنوان “باینری” مورد استفاده قرار می‌گیرند.

امنیت متد get در مقایسه با متد post با دلایلی همچون فعال‌سازی کش مرورگر و ذخیره شدن داده‌ها از طریق url، پایین است، ولی در حالت post امنیت بالاتری در جریان است. اطلاعات و داده از طریق آدرس در متد get قابل مشاهده هستند، ولی در متد post به هیچ عنوان قابل مشاهده نیستند.

با این تفاسیر اگر با خطای مذکور روبرو شدید، همانطور که گفتیم ‌جی‌تی‌متریکس از شما می‌خواهد به جای استفاده از تکنولوژی ajax به صورت post از آن به صورت get استفاده نمایید که این موضوع باید بررسی شود؛ چراکه بر اساس تفاوت‌هایی که ذکر کردیم، همیشه انتخاب این دو متد بجای هم نتیجه مطلوب نمی‌دهد. برخی موارد Post  بهتر عمل می‌کند و گاهی هم درحالت عکس Get عملکردی بهتری دارد. پس این شما هستید که بر اساس موضوع سایت خود و در نظر گرفتن فاکتورهای بالا، تصمیم می‌گیرید کدام متد بهتر است.