سفارش تبلیغ
صبا ویژن

سئو- استفاده از همه شگردها برای بالابردن ترافیک سایت

کش محتوا در یک کلام

 روی قضیه نحوه افزایش سرعت یک سایت کلا دو راهکار داریم
1- کاهش درخواست از سرور
2- کاهش حجم انتقال
عمده حرف من از کاهش درخواست از سرور با مدیریت بهتر کش و css sprit  است

چون مفصل گویی را جایز نمی دانم به ترتیب اولویت خلاصه و جامع همه چیز برای کاهش درخواست از سرور را در پی میاورم

1- یک سری تغییرات کلی در نحوه چیدمان عکس ها و  نحوه استفاده از css که بحث پیرامون آن خارج از این مقوله است

2-غیرفعال کردن ETAG و  اولویت دادن به کش استاتیک

وقتی Etag فعال باشد مرورگر مدیریت کش را به سرور واگذار می کند یعنی مرورگر درخواست فایل را می دهد اگر سروردر  پاسخ هدر 304 را داد به این معنی است که کش را مورد استفاده قرار بده (محتوا فرستاه نمی شود) در غیر اینصورت محتوا ارسال می شود
ایراد etag در این است که در هر صورت ارسال درخواست را داریم (حتی اگر کش انجام شده باشد) اما در کش استاتیک مدیریت کش با مرورگر است

3- vary
vary که من آنرا واکنش معنی کرده ام  برای مدیریت واکنش ISP ها در کش محتوا می باشد
و یکی از مواردی که این هدر ایجاد می شود در مود ریرایت است
همه مشکل از آنجا شروع می شود که سرورPHP  در حالت gzip و غیر آن vary متفاوت ایجاد می کند. یعنی
در حالت فشرده vary در اکثر سرور ها بصورت     * "user-agent"

و در حالت غیر فشرده بصورت   * "accept-encoding, user-agent"

و این یکی از مهمترین مواردی است که چون مرورگر دچار سردرگمی می شود کش را ضایع می کند

راهکار پیشنهادی:
  استفاده ار force-no-vary  برای غیر فعال کردن کش آی اس پی ها و یا  استفاده از vary یکسان در هر دوحالت

4- HTTP/1.1 و  force-response-1.0
برای حفظ سازگاری در همه مرورگر ها پاسخ های هدر سرور همواره با HTTP/0 داده شود
که هیچ تاثیری در سرعت و قابلیت ها ندارد اما  موجب می شود که در مواردی که مرورگری پروتکل HTTP 1 را پشتیبانی نمیکند مانعی برای کش شدن پیش نیاید

5- برای کش همیشه نوع درخواست باید HTTP GET باشد (و بدون پارمترهای GET  تا کش انجام شود ) به عبارتی در متد POST هیچ کشی انجام نخواهد شد و این از مواردی است که در آجاکسی باید درنظر گرفته شود
6- یکی از شرطهای جالب Cache-Control کهIE بیشتر آن را مورد توجه قرار داده
 post-check و  pre-check است  مثلا
Control: post-check=10; pre-check=120
که به مروگر می گوید تا 10 ثانیه که اصلا نیازی به چک کردن ندارد و به کش اعتماد کن و بعد از 120 ثانیه هم قبل از استفاده از  کش از سرور استعلام بگیر(شباهت بسیاری به max-age دارد)