تحسين و تسريع تحميل موقع ويب – إستعمال ضغط Gzip

في الجزء السابق تكلمنا عن أهمية خفض للحد الأقصى أرقام الطلبات التي تعمل للخادم، ولمساعدة الطلبات التي تزال تعمل للخادم يلزمنا ضغطها قبل إرسالها وبها نسهل سرعة إرسالها إلى متصفح الزائر.
حاليا الكثير من متصفحات الأنترنيت تدعم إثنين من تنسيقات الضغط ويمكن رأيته عبر الرؤوس المرسلة من قبل الخادم التنسيق الذي يستعمله لضغط.
Gzip تنسيق ضغط مفتوح المصدر يتم تطويره عبر مشروع جنوا،هو الأكثر شهرة في هذا المجال لأن معضم المتصفحات تعتمد عليه، ويصل في المتوسط ضغط إلى حد 66 %
deflate أقل فعلية لكن يصل متوسط ضغطه 60% والقليل يستعمله غير msn.com


طريقة العمل Gzip

عند تفعيله يقوم بضغط الملفات التي تحتاج لضغطها فمثلا ملف css ذو حجم 5 KB يصل إلى متصفح الزائر بحجم 1 KB وهذا الأخير يحسن سرعة تحميل الموقع

الملفات التي يمكن ضغطها ب Gzip

الأكثر أهمية ضغطها هي ملفات html،php،css،js وملفات الكتابية الأخرى أما بالنسبة لملفات الصور jpg،png،gif وملفات pdf فيتم إرسالها من الخادم مضغوطة ب Gzip وإعادة ضغطها يجعلنا نضغط على معالج وذاكرة المستضيف وهذا الأخير لايرجع لنا بالخير

إستعمال ضغط Gzip في أباتشي 1.3

في حالت ما زلنا نستعمل خادم ويب من نسخة 1.3 فالإضافة التي يستعملها هي mod_gzip ويمكن إضافة ما نريد ضغطه عبرmod_gzip_item_include وتركه عبر mod_gzip_item_exclude،نقم بفتح ملف .htaccess إذا كان يسمح ونضيف
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_item_include file \.html$
mod_gzip_item_include file \.php$
mod_gzip_item_include file \.css$
mod_gzip_item_include file \.js$
mod_gzip_item_include mime ^application/javascript$
mod_gzip_item_include mime ^application/x-javascript$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include handler ^application/x-httpd-php
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader    ^Content-Encoding:.*gzip.*
</IfModule>

إستعمال الضغط Gzip في أباتشي 2.x

لنسخ الخادم أباشي من النسخة 2 فالإضافة التي يستعملها mod_deflate (لا تخطاء في تقدير الإسم بنوع الضغط، هو يضغط Gzip) لضغط الملفات التي نحتاجها نستعمل AddOutputFilterByType وهذا نوع إستخدامه
AddOutputFilterByType DEFLATE text/html text/css application/x-javascript
تحياتي

محمد حنين

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

You may also like...

13 تعليق

  1. يقول Ahmed Bolica:

    جزاك الله خيرا اخ محمد وشكرا على سرعه الرد
    بس ياريت توضح اكتر الامر لحد الان مبهم بالنسبه لى

    • يقول mohammed:

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

  2. يقول Ahmed Bolica:

    للاسف انا عندى مشكله فى ملف .htaccess
    لا استخدمه حتى الان

  3. يقول Ahmed Bolica:

    متشكر يا محمد جزاك الله خيرا

  4. شكراً محمد على المقال الشيق و المفيد, و لكن عندى تساؤل.
    ألا تقوم إضافة wp-super-cache بنفس العمل؟ أو إضافة WordPress Gzip Compression؟
    اعرف ان استدعاء الاضافة يأخذ وقت و لكن فقط اريد معرفة الفكره هل هذا التعديل على .htaccess هو نفسه ما تقوم به هذه الاضافات؟
    تحياتي

    • يقول محمد:

      الحقيقة لم أجرب wp-super-cache هل يضيف تفعيل الضغط فهو في الحقيق cache للموقع لكي لا يتجاوز استهلاك الموارد الخادم ،و الإضافة WordPress Gzip Compression فهي إضافة لتفعيل الضغط في بي أتش بي وليس الملفات الأخرى.
      لكن ليس الكل هو gzip لتحسبن تسريع الموقع فحسب المثال http://www.ana-3rby.com
      توجد 16 ملف javascript وهذا النوع صعب فهمه لأنه يتم تحميله بالتتابع عند انتهاء الأول يتم تحميل التالي حتى الانتهاء الجميع ليظهر الموقع كله إذا وجدة هذه الملفات في header
      9 ملفات css والجيد ملف واحد يجمع الكل
      تفعيل Header Expires وهنا الشرح إذا أهمك الأمر http://www.arlinux.net/تحسين-و-تسريع-تحميل-موقع-ويب-–-إضافة-header-expires/
      تفعيل gzip لملفات js و css
      لديه الكثير من طلبات في dns ومنها count.js فالأفضل إزالتهم
      متوسط التحميل 14 ثانية
      إذا أردت إضافة جيدة فأنصحك ب w3 total cache وليس wp-super-cache لأنه يضيف أكثر للموقع من cache إلى جمع لكل js و css

  5. يقول احمد حسنى:

    لو سمحت انا عايز عندى افعل موديول mod_deflate ومش عارف افعلة منين الاباتشى بتاع السرفر Apache 2.0

    وهو الى انا فهمتة انى اضيف الكود ده
    AddOutputFilterByType DEFLATE text/html text/css application/x-javascript

    بس احطة فين بالظبط فى ملف يعنى فى انهى سطر داخل htaccess مع العلم انا استعمل مجلة جوملا ارجو المساعده علشان عايز اصغر الروابط عندى

  6. اشكرك كنت فعلا محتاج شرح بسيط مثل هذا يفيدنى حقا

  7. تسلم ايديك انا فعلا وصلت لسرعه 90 على موقعي بسبب هذه الشروحات شكرا لكم

  1. مارس 8, 2016

    […] […]

اترك تعليقاً

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