چگونه پاسخ یک درخواست ایجکسی را قبل از ارسال به سمت کلاینت فشرده سازی کنم؟
https://lamtakam.com/qanda/889/چگونه-پاسخ-یک-درخواست-ایجکسی-را-قبل-از-ارسال-به-سمت-کلاینت-فشرده-سازی-کنم؟ 0سلام. من تمام اچ تی ام ال HTML رو سمت سرور میسازم و برای کلاینت می فرستم. یعنی کلا سرور رندرینگ انجام میدم. به عبارت بهتر، پاسخ درخواست ایجکسی من یک محتوای متنی از جنس تگ های اچ تی ام ال به همراه متونی هست که بین تگها قرار گرفته.
چون تمام دام DOM رو دارم میسازم و همونطور که گفتم به صورت اچ تی ام ال HTML برمیگردونم، یه مقدار دیتایی که باید از سمت سرور برگرده سنگین شده. یعنی از نظر حجمی باید یه مقدار فشرده بشه تا وب سایتم عملکرد بهتری داشته باشه. من یه خرده جستجو کردم و به این نتیجه رسیدم که میشه همون سمت سرور، قبل از اینکه دیتا به سمت کلاینت ارسال بشه، به فرمت .gzip
تبدیل بشه و بعد دوباره سمت کلاینت (فکر کنم با هدر خاصی) عمل آن-زیپ upzip اتفاق میوفته. درست آموزشی براش پیدا نکردم که ببینم دقیقا چی کار باید انجام بدم.
تنها کاری که کردم این بود که خروجی که درخواست ایجکسی بر میگردونه رو بگیرم و توی یه فایل با فرمت .txt
ذخیره کنم و حجمش رو ببینم. این:
نکته جالب اینجاست که وقتی همون فایل رو فشرده کردم و به فرمت .gzip
درآوردم، حجمش این شد:
تقریبا حجمش صفر شد :-)
. دوستان والا کلافه شدم و از طرفی خیلی هم مشتاقم که این کار رو انجام بدم چون می دونم عملکرد سیستمم چندین برابر سریع تر میشه کسی میتونه راهنمایی کنه چطور می تونم این فشرده سازی را در بین راه - while transferring - انجام بدم؟ با تشکر
این هم بگم که زبان سمت سرورم رو با پی اچ پی php و فریم ورک لاراول laravel نوشتم و کلاینتم هم با جاوا اسکریپت javascript و ایجکس ajax نوشتم که درخواست ها رو ارسال می کنه و جواب رو میگیره و پردازش می کنه برای نمایش دادنش به کاربر.