آموزش افزایش سرعت سایت با GTmetrix – رفع خطاهای YSlow
آموزش افزایش سرعت سایت با GTmetrix – رفع خطاهای YSlow
در این پست قصد داریم درباره ارور Use GET for AJAX requests بحث کنیم و بررسی کنیم منظور این خطا چیست و اینکه رفع آن چگونه باعث بالا رفتن سرعت و سئو سایت و همینطور سئو ما میشود، پس ما میزفا همراه باشید.
خلاصهای از خطا Use GET for AJAX requests
نام: Use GET for AJAX requests
نوع: JS
اولویت: پایین
میزان سختی: متوسط
میانگین امتیاز: 100%
اهمیت استفاده از AJAX
درگذشته برای تبادل اطلاعات بین سرور و مرورگر در یک بخش کوچک از صفحه باید از زبانهای asp یا php یا دیگر زبانها استفاده میکردند که در این روشها باعث میشود کل آن صفحه به سرور ارسال شود به عبارتی کل صفحه لود میگردید تا درنهایت فقط بخشی از صفحه تغییرات لازم بر روی آن اعمال شود. ارسال حجم کل اطلاعات صفحه تنها به خاطر تغییر قسمتی کوچک از آن باعث کاهش سرعت بهینه سازی سایت و افزایش پهنای باند مصرفی میگردید همچنین این موضوع تجربه کاربری را هم مختل مینمود، Ajax این مشکل را برطرف میکردد.
شی xmlhttprequest در Ajax
درواقع Object (شئ) xmlhttprequest در Ajax است همه این مشکلات سرعت را رفع نمود و باعث شد تا محتوای بهروز شده در یک صفحه بدون احتیاج به بارگذاری دوباره کل صفحه تغییر کند. درواقع این شئ سبب گردید تا داده واردشده توسط کاربر به سمت سرور ارسال شود و سرور پردازشهای لازم را انجام دهد و سپس داده پردازششده یعنی اطلاعات را به مرورگر بدهد بدون آنکه صفحه لود شود، تمام این رفتوبرگشتها در پشت صفحه و بدون اطلاع کاربر انجام میشود. میتوان گفت شئ XMLHttpRequest مهمترین شئ در Ajax است که تقریبا انجام تمام عملیات لازم بر روی دوش آن هست. حال برای ارسال و تبادل اطلاعات توسط شئ XMLHttpRequest دو نوع متد وجود دارد متد GET و متد POST که هر دو یک درخواست HTTP برای تبادل اطلاعات استفاده میکنند که هر کدام مزایا و معایت خوب را دارند.
بیشتر بدانید: XML و یا JSON یک نوع ساختار برای ذخیرهسازی اطلاعات است، ساختارهایی که بدون توجه به تکنولوژی و پلتفرم آن دستگاه قابل استفاده هستند از طرفی Ajax یک تکنولوژی است که در آن یک شئ XMLHttpRequest وجود دارد این شئ همانطور که نامش پیداست اطلاعاتی که دارای ساختار XML است را به شکل Http Request (درخواست HTTP) ردوبدل میکند، این توضیح کوتاه داده شد تا با فلسفه نام XMLHttpRequest آشنا شوید.
درباره Use GET for AJAX requests
بعید است طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی) شما با خطای Use GET for AJAX requests روبهرو شود ولی اگر شد بدانید که در این پست منظور Gtmetrix این است که اگر از تکنولوژی Ajax در صفحات استفاده میکنید به جای استفاده از متد ارسال POST از GET استفاده نمایید، چرا که سرعت متد GET بیشتر است.
تفاوت متد POST و GET از نگاه بهبود سرعت سایت این است که در متد POST در دو مرحله عملیات تبادل داده بین سرور و مرورگر را انجام میدهد، در مرحله اول ارسال درخواست headers است و در مرحله بعدی دادهها را ارسال میکند درحالی که متد GET هر دو مرحله را با هم ارسال میکند. ولی تفاوت این دو متد به اینجا ختم نمیشود و فرقهای بسیار هم دارند که باید بررسی کرد از کدام بهتر است برای تبادل اطلاعات استفاده شود چرا که همیشه متد GET بهتر نیست و در شرایطی استفاده از متد POST حیاتی میباشد.
دیگر تفاوتهای متد POST و GET
ویژگی | متد GET | متد POST |
استفاده از دکمه های BACK و Reload | بی اثر | ارسال دوباره اطلاعات (البته قبل از ارسال شدن دوباره اطلاعات مرورگر به کاربر هشدار میدهد) |
Bookmark کردن | با زدن کلیدهای ctrl + D آدرس bookmark میشود. | قابلیت bookmark را ندارد. |
قابلیت کش – Cache | کش میشود. | قابلیت کش را ندارد. |
نوع رمزگذاری – Encoding | application/x-www-form-urlencoded | application/x-www-form-urlencoded multipart/form-data از multipart/form-data برای رمزگذاری داده های باینری معمولا هنگام آپلود کردن فایلها استفاده میشود. یعنی برای آپلود فایل از این نوع استفاده می کنیم. |
ذخیره شدن در تاریخچه مرورگر – History | ردپای متد GET در تاریخچه مرورگر ذخیره میشود. | ذخیره نمیشود. |
محدودیت در اندازه داده | متد GET اطلاعات خودش را به URL اضافه میکند. و از طرفی حداکثر اندازه URL میتواند 2048 کاراکتر باشد. | بدون محدودیت |
محدودیت در نوع داده | فقط داده ی از نوع اسکی را پشتیبانی می کند. | بدون محدودیت. قابلیت ارسال داده های باینری را دارد. |
امنیت | امنیت کمتری نسبت به POST دارد.از این متد برای ارسال اطلاعات حساسی مانند کلمه عبور استفاده نکنید. | نسبت به متد GET از امنیت بیشتری برخوردار است.پارامترهای ارسالی در تاریخچه مرورگر و در سیستم لاگ وب سرور ذخیره نمی شوند. |
قابلیت مشاهده | اطلاعات در URL توسط همه قابل مشاهده است. | قابل مشاهده |