تحسين و تسريع تحميل موقع ويب – إضافة Header Expires

لا أدري هل يهيء لي أنه أخر شرح أو قبل الأخير أضنه كثير ما قمت بإخراجه لفهم إستعمال بعض الأشياء وهذا الشرح سيكون عبارة عن إضافة رؤوس الإنتهاء لملفات الويب وسنتركه مشروحا لأن لاأحد يعمل به
سؤال المليون لمذا رؤوس الإنتهاء (Header Expires) لملفات الويب
أول سؤال تقوم بطرحه أليس كذالك بدأت أقرأ أفكارك 😛 كل متصفح يقوم بتخزين ما يصله من كل مواقع الويب ويقوم بإعادت إستعمالها وهكذا يخفف عبأ تحميل الموقع كاملا عند تصفحه لكن عندما لا توجد رؤوس الإنتهاء فإنه بإستمرار يحمل ذالك الموقع كاملا وهذا يضيف وقت للموقع عوض تحميل الملفات التي تم تخزينها والملفات التي يتم تخزينها هي عبارة عن الأشياء التي لاتتغير كثيرا : الصور، javascript، css ، ملف فيديو.


يضهر أن هناك ملف صورة سيتم إنتهاء صلاحيته إلى العام 2011 عبر Expires وهو نفسه Cache-Control وهذا عند إضافة Expires يتم إضافته أتوماتكيا لكن يمكن إضافة كل واحد وحده وكل واحد بوقته
والأن أحد سيخطئ المعنى من الشرح ويقول بالسؤال حاليا تقوم بتخزين ملفاتك في حاسوب الزائر دون علمه
دون علمه خطئ كل المواد التي يتم تخزينها تخبأ في ما يسمى خابية المتصفح cache وكل متصفح له حد أقصى لها ومن هناك يقوم بتغيير الجديد بالقديم لكن إذا كنت تتصفح موقع فهذا مهم للغاية لأنه لاتزال مخزنة وهكذا يتم إستعمالها لتسريع تحميل الموقع. قللت لك إني أقرأ أفكارك وأضن أني سأتوقف عن ذالك وإلى لن أنتهي
رؤوس الإنتهاء بإستعمال htaccess
بما أن كل يستعمل هذه الخاصية فعملها سهل جل ما تضيفه ثلاث سطور لهذا الملف السحري ( تعرف لمذا سحري عندما تخطئ فيه يترك الموقع في خطئ 500 ) لذالك السطور تكون عبارة عن تفعيل وإستعمال ExpiresDefault
سنقوم بعمل الملفات التالية (jpg,png,gif,swf,js,css) أن مدة صلاحيتها تتوقف بمدة شهرين
ExpiresActive On
ExpiresDefault A0
<FilesMatch "\.(gif|jpg|jpeg|png|swf|js|css)$">
ExpiresDefault "access plus 2 months"
</FilesMatch>

وطريقة ثانية هي حساب الثواني وهي كالتالي 60 يوم ضرب 24 يوم ضرب 60 ساعة ضرب 60 دقيقة والنتيجة هي دقيقة سأبحث عن الألة الحاسبة 5184000
ExpiresActive On
ExpiresDefault A0
<FilesMatch "\.(gif|jpg|jpeg|png|swf|js|css)$">
ExpiresDefault A5184000
</FilesMatch>

ويمكن أيضا إعطاء لكل ملف وقت لصلاحية عبر أمر ExpiresByType
ExpiresActive On
ExpiresDefault A0
ExpiresByType image/gif A5184000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A5184000
ExpiresByType image/jpeg A2592000
ExpiresByType text/css A5184000
ExpiresByType text/javascript A2592000

ومثل كل يوم تحياتي والقادم أفضل

محمد حنين

الإسم الكامل محمد حنين أحد geek من أمد طويل ، مطور ويب، محب للحرية، مستعمل نضام لينوكس، وأخيرا مجرم باللغة العربية للأسف في وقتها. معلومات أكثر عني أو الإتصال بي Mohammed Hanine

You may also like...

5 تعليقات

  1. ما شاء الله عليك ، لقد استفدت كثيراً من مواضيعك بخصوص تحسين وتسريع تحميل وتصفح أي موقع وقمت بتطبيق الكثير على مدونتي ولكن لي سؤال هنا ما هي الطريقة لتطبيق رؤوس الانتهاء في مدونتي التي على بلوجر .تحياتي

    • يقول mohammed:

      أعتقد لا يمكن تطبيقها على هذا النوع من المدونات لكن ما يفرح أنه يوجد رؤوس الإنتهاء بها وزمنها شهر لكن لصور لا يوجد وإذا وجدت أي معلومة أرسلها لك.
      لقد دهشت عند دخول مدونتك تحميلها أقل من ثانية يسلام مبروك 🙂

  2. يقول oussama larhmich:

    بارك الهل فيك عزيزي على هذه التدوينة المميزة

    تمت اظافتها للمفضلة و سأقوم بتطبيقها على مواقع شركاتي

    شكرا لك 🙂

  3. يقول زي العسل:

    شكراًَ يا غالى .
    ياريت توضح كيف اركب هذة الطريقة فى حال كان لدى اضافة الكاش wt3

    وشكراًَ

  4. يقول عبدو:

    شكرا علي الموضوع الرائع

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *